複数回実行できる必要があるVBAのSubがあります。私はシートの最後の行を見つけるために、コードのこの部分を実行する:VBAコードはメッセージボックスで実行されますが、メッセージボックスでは実行されません。
Dim lastRow As Long
With ActiveSheet
lastRow = xlWs.Cells(.Rows.count, "A").End(xlUp).Row
End With
を私はそれを実行するとき
オブジェクト変数またはWithブロック変数が
を設定しないで取得します2回目ですが、変数セットの前にメッセージボックスを追加すると、次のようになります。
それは何度実行しても機能します。前にこの問題に遭遇した人はいますか? 2番目のセットで修正された最初のコードセットで何が問題になっていますか?
EndLow = xlWs.Cells(.Rows.count、 "A")を変更します。(xlUp).Row'を 'lastRow = .Cells(.Rows.count、" A ")にします。End(xlUp).Row' –
それは動作します!しかし、2つのコードブロックの違いは何ですか? (ありがとうございました!) –
サブが実行されているときにxlWsがアクティブであるかどうかは依存しますか? – SJR