【发布时间】:2018-01-29 14:39:51
【问题描述】:
我明白了
“类型不匹配”错误
我有以下代码循环遍历两张表,匹配数据并相应地填写"C" 和"D" 列。代码完美运行,直到我输入 "And" 语句,此时我收到 "Type mismatch" 错误,并且调试也突出显示了该行。我无法弄清楚出了什么问题,任何帮助将不胜感激。
Sub ind_access_report()
Dim lastrow As Variant
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim x As Variant
Dim iName As String
Set sh1 = ActiveWorkbook.Sheets("Sheet1")
Set sh2 = ActiveWorkbook.Sheets("Sheet2")
iName = sh2.Range("A2").Value
lastrow = sh1.Cells(Rows.Count, "A").End(xlUp).Row
For x = 2 To lastrow
If sh1.Range("C" & x).Value = iName _
Then sh2.Range("C" & x + 3).Value = sh1.Range("A" & x).Value _
And sh2.Range("D" & x + 3) = "OWNER"
If sh1.Range("D" & x).Value = iName _
Then sh2.Range("C" & x + 3).Value = sh1.Range("A" & x).Value _
And sh2.Range("D" & x + 3) = "BACKUP"
If sh1.Range("E" & x).Value = iName _
Then sh2.Range("C" & x + 3).Value = sh1.Range("A" & x).Value _
And sh2.Range("D" & x + 3) = "BACKUP"
Next x
【问题讨论】:
-
我确信 Google 上一定有关于此的内容。
Then之后的语句必须在单独的行中并且没有And。 -
我在其他宏中之前在一行中使用了
If... Then... And语句,没有任何问题。这不是一个真正的 googleable 问题。 -
对不起,我误读了您的代码。你有任何错误值吗?
-
And用作If的一部分,而不是Then的一部分 -
我的错误值是
Type Mismatch,不幸的是,没有其他可以参考。我不明白为什么And是If的一部分而不是Then如果它在Then之后?