hab mir ein Makro, Dank Eurer Hilfe, gebastelt.
Funktioniert, so weit ich es beurteilen kann, auch ganz gut.
Es kommt nur ständig die Fehlermeldung, dass er das "detailed sheet" nicht finden kann.
Hier erstmal mein Makro:
Private Sub CommandButton2_Click()
Dim DatName As String
DatName = Application.GetOpenFilename
Sheets("KW Gesamt").Select
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=DatName" _
_
_
, _
";Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database=""""; _
_
Jet OLEDB:Registry Pa" _
, _
"th="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database _
_
Locking Mode=0;Jet OLEDB:Global Partial Bulk Op" _
, _
"s=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet _
OLEDB:Create System Database=False;Jet OLEDB:Enc" _
, _
"rypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact _
Without Replica Repair=False;Jet OLEDB:SFP=Fa" _
, "lse"), Destination:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array("detailed sheet")
.Name = DatName
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = DatName
.Refresh BackgroundQuery:=False
End With
Sheets("Jahreswertung").Select
End Sub
Der Hintergrund: Ich habe eine Auswertungsdatei, im Arbeitsblatt "KW Gesamt" liegen die Daten.
Diese muss ich aus einer anderen Exceldatei mit wechselnden Namen einlesen.
die Quelldatei besteht wiederrum aus drei Arbeitsblättern - das betreffende heißt "detailed sheet".
Nur irgendwas ist hier falsch.... ich hab keine Ahnung....
Mein ewiger Dank ist Euch gewiss!
Wolfi