[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 最終行取得後、不要行削除』(naki)
A列で値のはいっているセルの最終行を取得後、それより先の全ての行の削除を行いたいです。
A1セルの最終行取得からどのように組めばいいかわからない状態です。
Sub Macro1()
Range("A1").End(xlDown).Offset(1, 0).Select
End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
マクロの自動記録で行削除の作業を記録して、たたき台にしてみたらどうでしょう?
(渡辺ひかる) 2019/11/29(金) 12:49
Sub さんぷる1() Dim 最終行 As Long
最終行 = Range("A1").End(xlDown).Offset(1, 0).Row Rows(最終行 & ":" & Rows.Count).Delete
End Sub
みたいな感じでOKだとおもいますが、個人的には歯抜け等に対応出来るように下から上に見ていく方が好きなのでこちらをおすすめします。
Sub さんぷる2() Dim 最終行 As Long
最終行 = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row Rows(最終行 & ":" & Rows.Count).Delete
End Sub
(もこな2) 2019/11/29(金) 12:52
マクロの記録、検索、エクセルの学校を用いて思考錯誤しておりますが、変数の使い方や範囲指定が難しいですね・・・
発想は何となく浮かぶのですが、中々うまくいかないです・・・
>もこな2さん
ありがとうございます
確かに改行含むデータベースなどでは下から検索した方が応用がききそうです
頂いたコード実行してみたのですが、Deleteメソッドが失敗するようです。
引数を書いてみてもダメでした
(naki) 2019/11/29(金) 14:45
こんな感じでいいのでは?
Sub test()
With Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) .Resize(Rows.Count - (.Row - 1)).EntireRow.Delete End With
End Sub
(渡辺ひかる) 2019/11/29(金) 16:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.