setze den in der Abfrage verwendeten SQL-String zunächst in einer Variablen zusammen (Monat "12" für "Dezember" steht in E1, Datenbank enthält das Feld "Monat") :
Sql = "SELECT * FROM DeineODBCTabelle where Monat='" & [E1] & "'"
Diese SQL-Variable verwendest Du dann in Deiner (neuen) Abfrage :
ActiveSheet.QueryTables.Add(Connection:=cn, Destination:=[A10], Sql:=Sql)
Ich gehe davon aus, dass in der Variablen cn die Verbindungsdaten (Connection) zur ODBC-Tabelle definiert ist, das kannst Du "zur Not" auch mit dem Makrorekorder nachvollziehen. Also z.B. für eine ACCESS-Datenbank :
cn = "ODBC;DBQ=C:\Daten\Liste.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=281;" & _
"FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;" & _
"SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
Grüße, NoNet
1,2,3 - kleine Excelei : Infos + Anmeldung zum Jährlichen Exceltreffen
geschrieben von Nonet , 24.11.2005, 17:16 Uhr , 52 mal gelesen