Hallo!
Ich habe eine ASCII Textdatei in der Daten mit Tabulator getrennt sind.
Wenn ich nun in meiner Excel-Vorlage per Knopfdruck eine neue Tabelle (Sheet) in meiner bereits geöffneten Mappe einfügen möchte, benutze ich dazu den Befehl Sheet.Add
Aber ich würde diese Tabelle gerne so öffnen, dass die Daten aus der Textdatei bereits eingetragen sind.
Mit öffnen einer Mappe funktionierts, jedoch nicht mit einer einzelnen Tabelle.
Was tun?
Viele Grüsse
catmad
Wenn ich nun in meiner Excel-Vorlage per Knopfdruck eine neue
Tabelle (Sheet) in meiner bereits geöffneten Mappe einfügen
möchte, benutze ich dazu den Befehl Sheet.Add
Aber ich würde diese Tabelle gerne so öffnen, dass die Daten
aus der Textdatei bereits eingetragen sind.
Mit öffnen einer Mappe funktionierts, jedoch nicht mit einer
einzelnen Tabelle.
Hi Catmad,
poste doch mal hier den Code der das beim Öffnen der Mappe erledigt?! Gruß
Reinhard
Mit öffnen einer Mappe funktionierts, jedoch nicht mit einer
einzelnen Tabelle.
Was tun?
Moin Catmad,
ohne jetzt groß was probieren zu können, würde ich folgendes probieren:
Datei als Mappe öffnen, Daten in das neue Sheet in deiner Ziel-Mappe rüberkopieren und Mappe wieder schließen. Oder noch besser: Das ganze Blatt in die Ziel-Mappe rüberschieben.
Beispiel:
Sub Text\_Importieren()
Dim WorkbookName As String
Dim SheetAnzahl As Byte
Dim ImportName As String
Dim ImportPfad As String
ImportPfad = "C:\Temp\"
ImportName = "TAB-GETRENNT"
**WorkbookName = ActiveWorkbook.Name**
SheetAnzahl = ActiveWorkbook.Sheets.Count
Workbooks.OpenText \_
Filename:=ImportPfad & **ImportName** & ".txt", \_
Origin:=xlWindows, \_
StartRow:=1, \_
DataType:=xlDelimited, \_
**Tab:=True**
'... usw. (kommt alles von der Makro-Aufzeichnung)
Sheets(ImportName) **.Move** After:=Workbooks( **WorkbookName** ).Sheets(SheetAnzahl)
' Es ist wichtig, den Workbook-Namen vorher zu speichern
' (Zeile 7), falls man ihn nicht definitiv festgelegt hat.
' Beim Laden der Text-Datei wird nämlich das neu geladene
' Workbook das aktive.
End Sub 'Text\_Importieren
Viele Grüße,
Kristian