データの最終セルを取得する
連続してデータが入ったセルが有るとした時、マクロで処理する場合。
処理する最後のセルを取得する必要があります。
データの最終セルの取得方法を
office TANAKAさんのサイトを参考にして調べて見ました。
詳しく知りたい場合はoffice TANAKAさんのサイトを見てください。
エクセルマクロ情報サイト - 趣味のエクセルで当てようロト・ナンバーズ
1行目のデータの最後の行は セル選定する
セルA8へ
Sub 最終行へ()
Cells(Rows.Count, 1).End(xlUp).Select
End Sub
2行目のデータの最後の行は メッセージボックスで表示
セルB8を表示
Sub 最終行は()
Dim LastRow As Long
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
MsgBox "最終行は" & LastRow & "です"
End Sub
データの最後の次の行に入力する準備は .Offset(1, 0) などと書くようです。
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
私の場合はZ1セルに上の様な関数を入れてデータの数を調べています。
ここでは関数に6000行までしか指定してないのでデータ行数が6000を超えた時にエラー
になります。やはり最終セルを取得をしたのが問題は起きないですね!
もっとも、メニューのフィルターで色々と調べたい時に該当データ数がZ1セルに表示
されるので、これも便利ですが? 下の kaigou = Cells(1, 26)で処理してます。
Sub patapata_4() '当選数字パターン貼付け(引張表作成)
Dim i As long, j As long, k As long, dbl As long, kaigou As long
Dim daida As String, Db As String
start = MsgBox("開始しますか?", vbYesNo)
If start = vbNo Then End
kaigou = Cells(1, 26) ’z1セルの値から
Range(Cells(2, 17), Cells(kaigou + 1, 17)).Select
**
**
私のマクロで使用する場合は下のようにしたら良いのだと思います。
Dim kaigou As Long
kaigou= Cells(Rows.Count, 17).End(xlUp).Row
Range(Cells(2, 17), Cells(kaigou + 1, 17)).Select
**
**
上記の方法は行に対しての処理ですが、列に対しても出来るようです。
endretu = Cells(1, Columns.Count).End(xlToLeft).Column