0
嗨,对不起,这几乎肯定会是一个“doh”时刻,但我没有编码很长一段时间,我有点生疏。Excel VBA类型不匹配引用Cell.Value
我有一个单元格的值,当我尝试将它当作字符串处理时,我不断收到类型不匹配,但CStr和IsNull等测试似乎没有帮助。感谢一些建议。
Set ClientTable = SourceBook.Sheets("Source Data").Range("extdata")
For Each rng1 In ClientTable.Columns(1).Cells
'if not first row (header row) and the customer name is matching the selected customer
If (i <> 0) And (rng1.Value = SourceBook.Sheets("Source Data").Range("C1")) Then
If Not IsNull(ClientTable.Columns(6).Cells.Offset(i, 0).Value) Then
MsgBox ClientTable.Columns(6).Cells.Offset(i, 0).Value ' type mismatch here
End If
With Sheets("Contacts").Range("A1")
.Offset(rowToWriteTo, 0).Value = ClientTable.Columns(6).Cells.Offset(i, 0).Value ' first name
.Offset(rowToWriteTo, 1).Value = ClientTable.Columns(2).Cells.Offset(i, 0).Value ' last name
.Offset(rowToWriteTo, 5).Value = ClientTable.Columns(3).Cells.Offset(i, 0).Value ' email
.Offset(rowToWriteTo, 6).Value = ClientTable.Columns(4).Cells.Offset(i, 0).Value ' DDI
.Offset(rowToWriteTo, 7).Value = ClientTable.Columns(7).Cells.Offset(i, 0).Value ' mobile
.Offset(rowToWriteTo, 8).Value = ClientTable.Columns(5).Cells.Offset(i, 0).Value ' title
End With
rowToWriteTo = rowToWriteTo + 1
End If
i = i + 1
Next
如果删除该位的代码表(“联系人”),范围(“A1”)分配的所有工作的罚款。
PS:使用MsgBox只是为了调试。试图将ClientTable.Columns(6).Cells.Offset(i,0).Value赋值给一个字符串变量会产生相同的错误。
非常感谢您的帮助!
完美 - 谢谢你解决了它! –