2017-10-18 30 views
0

こんにちは、私は削除を削除する長いレポートをループしようとしています。VBAループ:セルに特定の値が含まれている場合、その値とその次の3行を含む行を削除します。

一般的なロジックは次のとおりです。スクリプトが列B1に値 "DELETE"を見つけたら、範囲 "A1:I4"を削除する必要があります。私は明らかに動作しない以下のスクリプトを持っています。私は "X"変数を使用して複数の列にわたる範囲の正しい構文を理解しようとしています。どんな助けもありがとう!

Sub RemoveDel() 
lastrow = Cells(Rows.Count, "B").End(xlUp).Row 
For x = 1 To lastrow 

    If Range("B" & x).Value = "DELETE" Then Range("A" & x:"I" & x + 4)).ClearContents 

    Next x 
End Sub 
+0

あなたはどのようなエラーが出るのですか?あなたの**正確な**問題は何ですか?今すぐ提供された情報であなたを助けるのは難しいです....明確にしてください! – cramopy

+0

上記のループを実行しようとすると「構文エラー」が表示されます。私はかなり構文が間違っている( "Then"の後に)間違いないと確信していますが、 "x"変数を追加して正しい構文を使用する方法を理解できません。 – Rhyfelwr

+0

括弧もチェックしてください。 – braX

答えて

4

私はあなただけのこの部分を修正して引用符でコロンを置くことを考える:

は、私は、次のループを持っています。

If Range("B" & x).Value = "DELETE" Then Range("A" & x & ":I" & x + 4)).ClearContents 

EDIT

ます。また、最初のビットのための "セル" のではなく範囲を使用することができます。

If Cells(x,"B").Value = ..... 

これが私の作品:

Sub RemoveDel() 
lastrow = Cells(Rows.Count, "B").End(xlUp).Row 
For x = 1 To lastrow 

    If Range("B" & x).Value = "DELETE" Then Range("A" & x & ":I" & x + 4).ClearContents 

Next x 
End Sub 
+0

'Cells(row、col)'の列入力に列文字を使うことはできませんでした!毎日何か新しいことを学ぶ。 –

+0

最初のビットは正しく動作しません。残念ながら、あなたのバージョンを試してみるときも同様に構文エラーが出ます。 – Rhyfelwr

+1

.ClearContentsの前に最後に余分な部分があるように見えます)。その本当の素早く削除してみてください。 – SuperStew

関連する問題