Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33080 / 76734 ←次へ | 前へ→

【48880】Re:範囲の最終行を取得する場合
発言  ウッシ  - 07/5/14(月) 9:48 -

引用なし
パスワード
   こんにちは

>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列よりデータが多かったら
どうするのでしょうか?
最初から最終データ行の判定出来る列を対象にすべきです。

また離席しますのでしばらくレス出来ません。
7 hits

【48853】範囲の最終行を取得する場合 質問(煮詰まった) 07/5/11(金) 18:26 質問
【48855】Re:範囲の最終行を取得する場合 ウッシ 07/5/11(金) 18:51 発言
【48879】Re:範囲の最終行を取得する場合 質問(煮詰まった) 07/5/14(月) 9:21 お礼
【48880】Re:範囲の最終行を取得する場合 ウッシ 07/5/14(月) 9:48 発言
【48882】Re:範囲の最終行を取得する場合 質問(煮詰まった) 07/5/14(月) 11:04 お礼
【48883】Re:範囲の最終行を取得する場合 ウッシ 07/5/14(月) 12:04 発言
【48902】Re:範囲の最終行を取得する場合 質問(煮詰まった) 07/5/15(火) 9:18 お礼

33080 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free