マクロ(VBA)の書き方を教えて下さい。 複数の品番に対し、数量が記入された表があります。 その数量の合計(I列)が0ゼロのとき、その品番と数量の行を削除させたいです。

画像

Visual Basic | Excel118閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

1

1人がナイス!しています

ThanksImg質問者からのお礼コメント

有難う御座います。 Unionは使った事がなかったので大変勉強になりました。 また、解説のリンク先まで貼っていただき有難う御座います。

お礼日時:6/26 23:24

その他の回答(2件)

1

貴方の質問の趣旨は分りませんが、こんな単純なコードでは駄目ですか。 Sub 行の削除() Dim n0 As Integer For n0 = Cells(Rows.Count, 2).End(xlUp).Row To 3 Step -1 If Cells(n0, 2).Value = "数量" And Cells(n0, 9).Value = 0 Then Range(Cells(n0, 2), Cells(n0 - 1, 9)).Select Selection.Delete Shift:=xlUp End If Next End Sub

画像

1人がナイス!しています

1

以下のようなものでしょうか? ・「Private Sub CommandButton1_Click()」はACTIVEXのボタンの場合です。実施環境にあわせてください。 ・「合計値が0の場合」とありますが、0以下で判断しています。0だけでいいのであれば、 If Cells(ii, "I") <= 0 Then を If Cells(ii, "I") = 0 Then にしてください。 Private Sub CommandButton1_Click() Dim ii As Long Application.ScreenUpdating = False For ii = Cells(Rows.CountLarge, "B").End(xlUp).Row To 3 Step -2 If Cells(ii, "I") <= 0 Then Cells(ii - 1, "A").Resize(2).EntireRow.Delete End If Next ii Application.ScreenUpdating = True End Sub

1人がナイス!しています