|
こんにちは
>N2−A列最終にはB列も含まれており
>本来、N2−A列最終行はB列の最終行と同じ結果に
>なると思うのですが、この考え方は違うのでしょうか?
決して「本来」では無いですが、この考えが正しいとしても、書いているコードが
間違っているという事です。
どうしても比較したいのなら、こんな感じです、
Sub test()
Dim vntB As Long
Dim vntNA As Long
With Sheets("作業3")
vntB = .Range("B65536").End(xlUp).Row
vntNA = .Range("N2", .Range("A65536").End(xlUp)).Row + _
.Range("N2", .Range("A65536").End(xlUp)).Rows.Count - 1
MsgBox "B列の最終行 : " & vntB & vbCrLf & _
"N2−A列最終行 : " & vntNA
End With
End Sub
が、N2−A列最終行は「.Range("A65536").End(xlUp)の行」で設定してますので、
最初から、A列、B列の最終行を比較するのと同じ意味になります。
考え通りのコードが書けなくて、考え通りの結果が出ない・・・と煮詰まっても仕方
ないと思います。
N2−A列最終行の範囲を取得していますが、もしB列がA列よりデータが多かったら
どうするのでしょうか?
最初から最終データ行の判定出来る列を対象にすべきです。
また離席しますのでしばらくレス出来ません。
|
|