趣味のエクセルで当てよう!ロト・ナンバーズ

当選狙いで、ナンバーズ4をメインにロト、ビンゴ5などの各種データリストや、それらの分析用エクセルVBAなどについて書いてます。

データの最終セルを取得する

連続してデータが入ったセルが有るとした時、マクロで処理する場合。


処理する最後のセルを取得する必要があります。



データの最終セルの取得方法を


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