目标存储在变量而不是单元格中

时间:2017-06-26 17:56:26

标签: excel-vba vba excel

我目前的代码将网站字符串添加到工作表中,然后引用单元格以确定代码适用的国家/地区。

是否可以从查询中提取信息而无需将其添加到工作表中,以便我可以稍后在我的代码中应用它?

因此,我可以将其直接导入“pc”,而不是“目的地:=范围(”A2“),然后检查网站字符串

    Const SITE = "SELECT site_id FROM site WHERE category = 'ID001' "

Set rs = conn.Execute(SITE)

With ActiveSheet.QueryTables.Add(Connection:=rs, Destination:=Range("A2"))
    .Refresh
End With

Range("A1").Select
Dim pc As String
    pc = Cells(2, 1)

If InStr(1, pc, "Z") = 1 Then
    pc = "NI"
ElseIf InStr(1, pc, "W") = 1 Then
    pc = "Wales"
ElseIf IsNumeric(Left(pc, 1)) Then
    pc = "Scotland"
Else
    pc = "England"
End If

1 个答案:

答案 0 :(得分:1)

您似乎希望pc变量成为Recordset对象rs中的第一个值。不使用任何QueryTables

直接尝试
Set rs = conn.Execute(SITE)
Dim pc As String
pc = rs.Fields(0).Value