VBA別館・Python別館

22958

VBA小技-最終セルを調べる(完) - Tak

2018/09/12 (Wed) 09:09:42

知っていると便利な小技を述べます。


① データの最終行を知りたい

どこまでデータが入っているか知りたいときが多々あります。 次のデータはその次の行・列から入れればよいわけですよね。


----------------------------

Option Explicit

Private Sub CommandButton1_Click()

 Range("C1").Select
 Selection.End(xlDown).Select

 MsgBox Selection.Address

End Sub

-----------------------------

データ行の最初のセルを指定してください。

でもこのやり方は、図から分かるように途中に空白があるとそこが最終行とされてしまいます。 絶対に途中に空白が無い時か、その空白行を削除してからお使いください。

次回は空白が有ってもOKな技をお知らせします。

Re: VBA小技  - Tak

2018/09/13 (Thu) 09:14:48

② 空白が無ければ正常表示します

空白行を無くすと、しっかり最終セル番地が表示されました。

所で、MsgBoxのセル番地は $C$11 となっていますが、$の付いた番地も付かない番地も同じ番地を表します。 

$が付いた番地をコピーしても、番地は変化しませんが、$が無い時はコピーすると行・列に合わせて変化させてくれます。 

便利な時と不便な時がありますが、割合等を計算するときに分母は$C$11と書いておけば、コピーしても分母の値は変わりませんので、そのようなときは$付きセルを使います。

Re: VBA小技  - Tak

2018/09/13 (Thu) 20:20:07

③ 途中空白あってもOK


------------------------------

Option Explicit

Private Sub CommandButton1_Click()

 Cells(1048576, 3).Select
 Selection.End(xlUp).Select

 MsgBox Selection.Address

End

------------------

途中に空白があるとNGなら、下からチェックしてみたらどうだろう? と言うアイディアに基づいております。

・ 一番最後のセルからデータがあるかどうか調べる--> Cells(1048576, 3).Select

  W10は1048576行が最後の行です。

・Selection.End(xlUp).Select--->最後のセル(C1048576)から上に順にデータがあるかどうか調べる

・見つけたセルがデータが入っている最終セルと分かります。

割と理解し易いcodeですよね。 この辺はノートにでもコピーしておいても良いですし、忘れたらGoogleで”VBA 最終セルの番地?”とやれば沢山回答が出てきます。

Re: VBA小技  - Tak

2018/09/14 (Fri) 08:41:16

④ データ領域を求める

とびとびにデータが入っていると次の処理に困るので、どこまで使用されているか調べましょう。

----------------------------

Option Explicit

Private Sub CommandButton1_Click()
'ワークシートの最終セル位置を求める

ActiveSheet.UsedRange.Select
MsgBox Selection.Address

End Sub

------------------

・一行目: 使用している領域を選べ-->図のⒶ

・二行目: その領域を表示しろ-->図のⒷ、Ⓒ

とこれ以上ない位簡単なcodeですね。

上手く行かないときもあります、それは次回。

Re: VBA小技  - Tak

2018/09/15 (Sat) 08:02:39

⑤ セルは空白に見えても空白ではない(時も有る)

例えばカーソルがどこかのセルにあるとき、間違えてスペースキーに触ってしまうと、空白が入力されてしまします。 でも空白ですから何も見えません。

こんな時にデータ領域を求めると、何もないこのセルまでデータと認識されてしまいます。

その様を図にしました。

使用されている最終セルの簡単な探し方は;
 ctlr+End
これで最終使用セル(空白でも)が見つかります。

不要なセルでしたら delete すればOKです。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.