Ich habe ein Makro geschrieben, das bewirkt, dass beim öffnen der Arbeitsmappe ein Datei-Öffnen Dialog geöffnet wird, in der man eine Datei auswählen kann die dann importiert wird.
Das funktioniert auch soweit. Jetzt is nur das Problem hinzugekommen, dass die Tabellenblätter jedes mal einen anderen Namen haben (immer nur ein Tabellenblatt/Arbeitsmappe).
Ist es irgendwie möglich, dass man per Makro herrausfinden kann, wie dieses Tabellenblatt heißt, bzw automatisch das erste Tabellenblatt importieren?
hier mal der Code zu der Funktion:
(das Tabellenblatt heißt hier "RAEDERUREIFENLEAR")
Function Importieren(ByVal datei As String) Cells.Select Selection.ClearContents Range("A2").Select With ActiveSheet.QueryTables.Add(Connection:=Array( _ "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Passwor d="""";User ID=Admin;Data Source=" _ , _ datei _ , _ ";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("A2")) .CommandType = xlCmdTable .CommandText = Array("RAEDERUREIFENLEAR$") .Name = "..." .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .SourceDataFile = _ datei .Refresh BackgroundQuery:=False End With End Function
So, ich hoffe ich habe mein Problem verständlich beschrieben.
Ich wäre für jede Hilfe dankbar :-)
Gruß,
camo