0

どうすればこれを機能させることができますか? 列 C で最後に使用されたセルを識別してそこに移動するようにコードを作成しようとしています。rng1でセルを選択している最後の部分に問題があります

Sub jupiter3()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("Belmont")
Set rng1 = ws.Columns("c").Find("*", ws.[c1], xlValues, , xlByRows, xlPrevious)
If Not rng1 Is Nothing Then
    MsgBox "last cell is " & rng1.Address(0, 0)
Else
    MsgBox ws.Name & " columns A:B are empty", vbCritical
End If
Range("rng1.address(0, 0)").Select

サブ終了

4

2 に答える 2

1

私にとって最も簡単な方法は、この1行のコードを使用することです

Sheets("Belmont").Range("C" & Sheets("Belmont").Range("C" & Rows.Count).End(xlUp).Row).Select

ただし、自分のものを変更したい場合は

Sub jupiter3()
    Dim ws As Worksheet
    Dim rng1 As Range
    Set ws = Sheets("Belmont")
    Set rng1 = ws.Columns("c").Find("*", ws.[c1], xlValues, , xlByRows, xlPrevious)
    If Not rng1 Is Nothing Then
        MsgBox "last cell is " & rng1.Address(0, 0)
        rng1.Select
    Else
        MsgBox ws.Name & " columns A:B are empty", vbCritical
    End If
End Sub

またはRange("rng1.address(0, 0)").Selectに変更rng1.SelectRange(rng1.address).Select

于 2013-08-19T14:24:42.500 に答える
0

rng1 変数は、range().select に収まらない方法で言語によって解釈される範囲として定義されます。文字列変数を定義し、次のようにします。Range("rng.address(0,0)").Selectを次のように置き換えます

Dim zen as String
zen=rng.address(0,0)
range(zen).select
于 2013-08-19T14:08:22.947 に答える