2017-06-26 2 views
1

Mein aktueller Code unten fügt die Site-Zeichenfolge zu einem Blatt hinzu und verweist dann auf die Zelle, um herauszufinden, für welches Land der Code gilt.Zielspeicher in Variable statt Zelle

Ist es möglich, die Informationen einfach aus der Abfrage zu extrahieren, ohne sie zu einem Blatt hinzufügen zu müssen, damit ich sie später in meinem Code anwenden kann?

Daher anstelle von „Destination: = Range (“ A2") PC ‚kann ich es gerade in zu bekommen‘, um dann die Zeichenfolge Website zu überprüfen

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 
+0

ich habe eine sehr grundlegenden Kenntnisse der VBA, aber ich will nicht wirklich haben, um den Wert der Abfrage in einer Zelle eingeben - um es dann zu überprüfen und dann d elete die Zelle. Ich möchte nur den Wert der Abfrage, so dass ich es direkt überprüfen kann, ohne ein Blatt zu erstellen und die Zelle im Blatt – BradleyS

Antwort

1

Es scheint, dass Sie möchten, dass Sie pc Variable die sein erster Wert in dem Recordset Objekt rs direkt Versuchen ohne Verwendung von QueryTables.

Set rs = conn.Execute(SITE) 
Dim pc As String 
pc = rs.Fields(0).Value 
+1

zu referenzieren. Das ist perfekt. Ich danke dir sehr – BradleyS

Verwandte Themen