VBAを使いこなそう!! -8ページ目

VBA 途中に空白のあるデータの最終行を知りたい


↓ここで、連続したデータがある時のデータがある最終行が何行目か、知ることができます。

VBA データがある最終行が何行目か知りたい



でも、途中で空白があると、ダメなんです。



そういう時は!

↓ここで使った usedrangeっていうのを使います。

VBA 使用したセル範囲を選択する


Sub kazoeyo()

With ActiveSheet.UsedRange
lastRow = .Rows(.Rows.Count).Row
lastCol = .Columns(.Columns.Count).Column
End With

Debug.Print lastRow
Debug.Print lastCol

End Sub

ついでに、最終列までカウントしました。結果は、イミディエイトウィンドウに表示されています。
やっぱり、今は空白なのに、なんかしらデータが入っていたり書式が設定されていたセルまでは数えてしまいますが、ぜひエクセルを立ち上げなおしてやってみてください。


 

VBA 使用したセル範囲を選択する

エクセルシート上で一度でも使用したセルを含む範囲を選択したーーい って言う時には


Sub shiyoucell()


    Activesheet.UsedRange.select


End sub


↓こんな感じ。

見る限りまさに使用しているセルのみを選択しています。。けど。

VBAを使いこなそう!!


でも、セルK8が空白でも書式が設定されていると、、、



↓こうなります。


VBAを使いこなそう!!



ここで、使用していたけどセルのデータを削除して書式設定もなしにした場合は、というと。。

↓ やっぱり、こうんなります。

VBAを使いこなそう!!


この時、ファイルを保存してエクセルを立ち上げなおし、マクロを動かすと

↓こうなります。 エクセルを再起動することで使用済みセルの認識が変わるようです^^



VBAを使いこなそう!!



ちなみに、矩形( くけい )にしか選択されません。 矩形っていうのは、四角くってことですね。






VBA データがある最終行が何行目か知りたい

データがある最終行が何行目か知りたい時。


Sub rowcount()


Msgbox "最終行は : ” & Range("A1").End(xlDown).row


End sub


最終行を変数に代入して、後でなんかしら処理に使いたい時。



Sub rowcount()


rowNumber = Range("A1").End(xlDown).row


End sub

(rowNumber は任意の変数で、お好きに名前がつけられます)







変数(↑では、rowNumber)にどんな値が入ったのか確認したい時。

Msgboxで表示させるのもOKですが、ここはひとつDebug.printで表示させてみよう!



Sub rowcount()


rowNumber = Range("A1").End(xlDown).row

  Debug.print rowNumber


End sub


rowNumberの値がイメディエィトウィンドウに表示されます。


イメディエィトウィンドウを表示するには、メニューの「表示」-「イメディエィトウィンドウ」を選択してね。




ちなみに、↑の場合だと、セルA1から最終行まで連続してデータ入っているのが前提です。

途中でブランクがあると、ブランクのセルの一つ前が最終行とみなされちゃうんですねぇ。



エクセルのシート上で、キーボードの[End] + カーソル下 で最終行まで移動するという操作をマクロでやっておりまする。



そしたら、ブランクばっかりのシートで最終行をどうやって調べたらいいのか?・・・次回に続く




[stmx] - ソーシャルマーケットプレイス