2017-06-26 7 views
1

以下の私の現在のコードは、サイトの文字列をシートに追加し、そのセルを参照してコードを適用する国を特定します。セルの代わりに変数内のデスティネーションストア

情報をシートに追加しなくても、クエリーから情報を抽出することができます。これを後で自分のコードに適用できますか?したがって、代わりに「宛先:=レンジの

(」A2" )は、サイトの文字列をチェックするためにPC 『私はまっすぐにそれを得ることができますが、』

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

私はVBAの非常に基本的な知識を持っていますが、私は実際に細胞内のクエリの値を入力する必要がありますする必要はありません - 。それを確認してからdセルをeleteします。私はちょうどクエリの価値がほしいと思うので、私はシートを作成し、シート内のセルを参照する必要なく直接チェックすることができます – BradleyS

答えて

1

あなたがpc変数になりたいと思われますRecordsetオブジェクトrsの最初の値の任意QueryTablesを使用せずに、直接試してみてください:

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

それは完璧です。どうもありがとうございます – BradleyS

関連する問題