みなさん、こんにちは。今、社員の給与データをもとにExcel2000 で
ある集計をとるマクロを組んでいて、下記のような「給与額が0円の
データのみ削除する」マクロを組みました。
Sub データ削除()
Sheets("Sheet1").Select
Range("A1").Select
Dim 行 As Long
For 行 = 6226 To 2 Step -1
With Cells(行, 7)
If .Value > 0 Then Exit For
If .Value = 0 Then Rows(行).Delete
End With
Next
End Sub
このマクロで正しく動いているのですが、
For 行 = 6226 To 2 Step -1
の構文の 6226 が問題で、これは 6226行目から上に向かって行を削除してい
きます。
対象データの量が毎回違うので、データ量がマクロに指定されている行数より
多いと正しく動かないと思いますし、少なければ効率が悪くなるのではと思い
ます。
そこで、「データの一番下のセルから削除を始める」設定にしたいのですが、
どうしたらよいでしょうか?
ちなみに、データは給与額をキーに降順に並んでいて下の行から削除していく
ようになっています。
No.1ベストアンサー
- 回答日時:
こんにちはpaku_iです。
列Aにはブランクの行が無いと仮定しますと
Range("A1").Select の下の行に
Selection.End(xlDown).Select を追加します。
すると一番下の CELL がアクティブになりますのでActiveCell.Row がここで言う 6226 になります。
ということで
最終行 = ActiveCell.Row
For 行=最終行 TO 2 Step -1
で良いのではないでしょうか。
No.2
- 回答日時:
具体的なシートのイメージが無いので、想像で書きます。
案1.データ件数は分かりませんか、その件数から計算出来ないでしょうか。
案2.最後の行を見分ける為の目印はありますか?
最後まで、同じ2行の組み合わせが続くのでしたら、
スペース行が始まる場所を調べればいいかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
エクセルのデータがない行には...
-
【VBA】条件に一致しない行を削...
-
EXCEL VBAでA列にある空白行よ...
-
Excel VBA オートフィルタの結...
-
数値に見えるものはすべて数値...
-
VBAで特定の行と一つ上の行を削...
-
Excel97 指定した行だけマク...
-
【至急】Excel 同一人物の情報...
-
VBAによりマッチング操作
-
複数セルの入れ替え方法 excel vba
-
マクロにて指定の文字間の文字...
-
VB.net
-
エクセルで階層図を作る方法
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル ボタンに設定したマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
エクセルのデータがない行には...
-
【VBA】条件に一致しない行を削...
-
数値に見えるものはすべて数値...
-
Excel VBAでオートフィルタで抽...
-
【VBA】条件に一致しない行を削...
-
マクロで最終行を取得してコピ...
-
Excel97 指定した行だけマク...
-
Excel VBA オートフィルタの結...
-
【至急】Excel 同一人物の情報...
-
エクセルのVBAで指定した行数の...
-
VBAで入力の結果を他のセルに反...
-
エクセルで階層図を作る方法
-
VBAで特定の行と一つ上の行を削...
-
エクセルVBAでデータの蓄積方法?
-
VB.net
-
Excel マクロ 検索結果を別シ...
-
VBAでの重複データに色付け
-
EXCEL VBAでA列にある空白行よ...
-
Access2003レポート:最終ペー...
おすすめ情報