2017-09-12 176 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.它應該是'Case「Zamora」' –

回答

0

在這裏,你去!您可能需要添加它,以便檢查John和Zamora是否都是小寫字母(如果需要的話)。

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 
相關問題