2017-09-12 24 views
0

データの範囲があり、範囲から名前を削除するようにプログラミングしています。ここに私のコードです。Excel VBA Select Caseを使用して範囲内のセルを削除する

Option Explicit 

Sub SelectCase() 

Dim msg As String 
Dim VarCase As Range 

Set VarCase = Worksheets("Data").Range("D:D") 

Select Case VarCase 

    Case VarCase = "Zamora" 
    VarCase.Delete 

    Case VarCase = "John" 
    VarCase.Delete 

End Select 

End Sub 

私は、エラーメッセージ実行時エラー「13」型の不一致、この範囲の文字列(「サモラ/ジョン」)を使用しようとしているためですが取得していますか?

+2

1.完全な列を単一の値と同じにすることはできません。ループを実行するか、find()またはその他の方法を使用して値を確認する必要があります。 2.それはちょうど 'ケース" Zamora "' –

答えて

0

ここに行く!ジョンとザモラが必要な場合はすべて小文字でないかどうかをチェックするように追加することもできます。

Sub SelectCase() 

Dim msg As String 
Dim VarCase As Range 

For Each VarCase In ActiveSheet.Range("D:D") 
    If VarCase.Value2 = "John" Or VarCase.Value2 = "Zamora" Then 
    VarCase.ClearContents 
    End If 
Next VarCase 
End Sub 
関連する問題