类型不匹配错误VBA循环浏览工作表
我一直收到一个类型不匹配错误,并尝试更改了几次类型。我只是试着遍历每个工作表和指定的区域,看看该区域的每个单元格中是否都存在该单词类型不匹配错误VBA循环浏览工作表,vba,excel,Vba,Excel,我一直收到一个类型不匹配错误,并尝试更改了几次类型。我只是试着遍历每个工作表和指定的区域,看看该区域的每个单元格中是否都存在该单词 Sub CheckWord() Dim arrVar As Variant Dim ws As Worksheet Dim strCheck As Range Set arrVar = ActiveWorkbook.Worksheets 'MsgBox (arrVar) For Each ws In arrVar If ws.Range("C9:G20
Sub CheckWord()
Dim arrVar As Variant
Dim ws As Worksheet
Dim strCheck As Range
Set arrVar = ActiveWorkbook.Worksheets
'MsgBox (arrVar)
For Each ws In arrVar
If ws.Range("C9:G20").Value = "Word" Then
MsgBox (True)
End If
Next ws
End Sub
您无法获取
ws.Range(“C9:G20”)
的值,并将其与一个字符串进行比较。您选择了多个单元格。如果要在其中任何一个单元格包含“Word”或所有单元格都包含“Word”时返回True
,则需要对其进行迭代
这是一个如何至少返回一次您的范围是否包含“Word”的示例
Function CheckWord()
Dim arrVar As Variant
Dim ws As Worksheet
Set arrVar = ActiveWorkbook.Worksheets
For Each ws In arrVar
Dim c
For Each c In ws.Range("C9:G20").Cells
If c = "Word" Then
CheckWord = True
Exit Function
End If
Next c
Next ws
End Function
您无法获取ws.Range(“C9:G20”)
的值,并将其与一个字符串进行比较。您选择了多个单元格。如果要在其中任何一个单元格包含“Word”或所有单元格都包含“Word”时返回True
,则需要对其进行迭代
这是一个如何至少返回一次您的范围是否包含“Word”的示例
Function CheckWord()
Dim arrVar As Variant
Dim ws As Worksheet
Set arrVar = ActiveWorkbook.Worksheets
For Each ws In arrVar
Dim c
For Each c In ws.Range("C9:G20").Cells
If c = "Word" Then
CheckWord = True
Exit Function
End If
Next c
Next ws
End Function
如果有一个包含许多列的范围
,它将创建一个数组。
这样考虑阵列:
Sub CheckWord()
Dim arrVar As Variant
Dim ws As Worksheet
Dim strCheck As Range
Set arrVar = ActiveWorkbook.Worksheets
'MsgBox (arrVar)
For Each ws In arrVar
For each col in ws.Range("C9:G20").Cells
if col.Value = "Word" Then
MsgBox (True)
end if
End If
Next ws
End Sub
如果有一个包含许多列的范围
,它将创建一个数组。
这样考虑阵列:
Sub CheckWord()
Dim arrVar As Variant
Dim ws As Worksheet
Dim strCheck As Range
Set arrVar = ActiveWorkbook.Worksheets
'MsgBox (arrVar)
For Each ws In arrVar
For each col in ws.Range("C9:G20").Cells
if col.Value = "Word" Then
MsgBox (True)
end if
End If
Next ws
End Sub
ws.Range(“C9:G20”)
返回包含数组的变量。您无法将其与字符串进行比较。范围(“C9:G20”)
返回包含数组的变量。您不能将其与字符串进行比较。您不能对值进行迭代,然后对值调用.value。您需要删除其中一个Good call@Brad,这是Cells集合,而不是Value属性。您不能迭代这些值,然后对该值调用.Value。您需要删除其中一个Good call@Brad这是Cells集合,而不是Value属性。@Oloo:您通过了吗?是的,我通过了,我一看到解释就明白了。谢谢不客气。然后把你采纳的答案标记为solution@Oluo.当前位置你能给帮助你的人提供适当的反馈,真是太好了you@OluO.当前位置你通过了吗?是的,我通过了,一旦我看到解释,我就明白了。谢谢不客气。然后把你采纳的答案标记为solution@Oluo.字体你能给帮助你的人提供适当的反馈,真是太好了