- 締切済み
エクセルのマクロについて
エクセルでマクロを組んでいますが、ひとつだけ再現できず困っています。 A1からE100までの表で、A列からD列までの数値をE列で○と×で判定します。 この時、E列が○の場合にA,B,D列のデータをクリアしたいのです。 マクロのコードがわかれば助かります。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- tsubuyuki
- ベストアンサー率45% (699/1545)
ごく単純に。 Sub test() Dim i As Long For i = 1 To 100 '1~100の間、繰り返し If Cells(i, 5).Value = "○" Then 'i行5列目(E列)が"○"だったら) Cells(i, 1).ClearContents 'i行1列目(A列)をクリア Cells(i, 2).ClearContents 'i行2列目(B列)をクリア Cells(i, 4).ClearContents 'i行4列目(D列)をクリア End If Next i End Sub
- FEX2053
- ベストアンサー率37% (7991/21371)
単純に Range("E1").Select For I=1 TO 100 IF Selection.Value="○" Then With Selection .Offset(0,-1).Clear .Offset(0,-3).Clear .Offset(0,-4).Clear End With Selection.Offset(1).Select Next こんな感じで、1個ずつチェックして消していけば済む話かと。
- kybo
- ベストアンサー率53% (349/647)
以下の様な感じかと思います。 Sub macro() Dim C As Range For Each C In Range("E1:E100") If C.Value = "○" Then C.Offset(, -4).Resize(, 4).ClearContents End If Next C End Sub
- mu2011
- ベストアンサー率38% (1910/4994)
NO1です。 以下のコードを訂正します。 Range("A" & i & ",C" & i & ",D" & i).ClearContents ↓↓ Range("A" & i & ",B" & i & ",D" & i).ClearContents
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 Sub sample() Dim i As Long For i = 1 To 100 If Cells(i, "E") = "○" Then Range("A" & i & ",C" & i & ",D" & i).ClearContents End If Next End Sub