我正在尝试在VBA中引用包含字符“%”作为其一部分的单元格,这会导致类型不匹配错误。我需要字符在那里,因为稍后将值复制到SQL查询。有没有办法让VBA获得该单元格的值而不会给我错误?
以下是代码:
Dim namevalue As Variant
namevalue = Sheets(“Sheetname”)。范围(“N4”)。值
使用ActiveWorkbook.Connections(“连接”)。OLEDBConnection
.BackgroundQuery = True
.CommandText = Array(_
“SELECT”“COMPANY”“。”“PRIMARY_LONG_COMPANY_NAME”“WHERE”“COMPANY”“。”“PRIMARY_LONG_COMPANY_NAME”“喜欢”& namevalue)
以。结束 使用ActiveWorkbook.Connections(“连接”)
以
结束 ActiveWorkbook.Connections( “连线”)。刷新
结束子
细胞N4的含量如下:
('%CROSSJECT%'或COMPANY.PRIMARY_LONG_COMPANY_NAME喜欢'%FLUOR CORP%'或COMPANY.PRIMARY_LONG_COMPANY_NAME喜欢'%HITIT HOLD%'或COMPANY.PRIMARY_LONG_COMPANY_NAME喜欢'%LARAMIDE R%'或COMPANY.PRIMARY_LONG_COMPANY_NAME喜欢'%LARAMIDE R%'或COMPANY.PRIMARY_LONG_COMPANY_NAME喜欢'%MAGNUM ENT%'))
更新:我认为错误不再与角色有关,但错误仍然存在。
我感谢任何帮助。 谢谢!
答案 0 :(得分:0)
要引用单元格,您需要找到它。试试这个小宏:
Sub PoundFinder()
Dim Pound As String
Pound = "#"
For Each r In ActiveSheet.UsedRange
v = r.Text
If InStr(1, v, Pound) > 0 Then
MsgBox "Pound found in cell " & r.Address
Exit Sub
End If
Next r
MsgBox Pound & " not found"
End Sub