Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabelleninhalt in Textdatei + zurück

Tabelleninhalt in Textdatei + zurück
Nadine
Hallo zusammen,
leider finde ich im Internet und in diesem Forum viele viele Beispiele und Vorschläge, wie man den den Inhalt einer Tabelle in eine Textdatei kopiert. Jedoch bin ich auf keine Lösung gestoßen die meiner Herausforderung gewachsen ist :-)
Ich möchte per VBA den kompletten Inhalt einer Tabelle in eine Textdatei kopieren, die auch gleichzeitig mit dem Code erstellt werden soll. Der Speicherort spielt ansich keine Rolle, super wäre natürlich der gleiche Ordner wie die Exceldatei.
Ein anderer Code soll nun den Inhalt dieser Textdatei wieder in eine Tabelle importieren, wobei ich hier gerne exakt die gleiche Anordnung hätte. Der Wert aus A1 soll also wieder in A1 landen usw..
Wer würde mir da helfen? Ich bin nicht unbedingt Könnerin, aber mitdenken mache ich wohl gerne :-)
Vielen Dank & liebe Grüße
Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:05:47
Matthias
Hallo Nadine,
habe jetzt gerade nicht die Lösung parat, aber
ist das nicht einfacher du kopierst dier das Arbeitsblatt in eine Neue Exceltabelle?
Warum in eine Textdatei zwischenspeichern?
Gruß Matthias
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:09:06
Nadine
Hallo Matthias,
danke für Deine Rückmeldung. Das ist recht kompliziert zu beschreiben.. Die Exceldatei wird des Öfteren mal durch eine neue "Version" ersetzt, soll sich aber beim Öffnen immer den letzten Datenbestand der vorherigen Version holen.. Und dieser soll beim Schließen immer in eine Textdatei geschoben werden.
LG Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:19:02
Matthias
Hallo Nadine,
Wenn du die Datei "A" hast als Ausgangspunkt, dann wähle "Speichern unter" , dort
kannst du unten bei "Tools" - Allgemeine Optionen - den Haken bei Sicherungsdatei angeben.
Somit ist immer der "alte" Stand gesichert.
Aus einer Textdatei wieder in eine Exceltabelle lesen wäre nur Sinnvoll, wenn nur DATEN gespeichert würden.
Keine Formel usw würde aus einer Textdatei heraus gelesen werden.
Hab ich dich so richtig verstanden? Reicht dir das so?
Gruß Matthias
Anzeige
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:25:37
Nadine
Hallo,
nein ich brauche wirklich die Lösung mit den Textdateien. Formeln müssen auch nicht übernommen werden, es handelt sich nur um bestimme Werte. Trotzdem vielen Dank für Deine Idee.
LG Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:30:37
Matthias
Hallo Nadine,
Dann wäre es Sinnvoll eine genauere Beschreibung zu erstellen.
Was ändert sich denn , wenn die "Neue" Datei die alte ersetzt?
Wo stehen denn die "Daten" die kopiert/gesichert werden sollen?
Hier sind tausend Fragen offen, erkennst du das nicht?
Ohne eine Musterdatei und was genau damit passieren soll, können wir hier nicht wissen was
da genau passieren soll.
Gruß Matthias
Anzeige
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:33:55
Nadine
Hallo Matthias,
es soll einfach nur der gesamte Inhalt einer Tabelle mit 2 unabhängigen Codes in eine Textdatei ex- und wieder importiert werden. Eine Musterdatei macht da in meinen Augen wenig Sinn. Da würde ich einfach irgendwelche Werte in diverse Zellen schreiben um zu testen.
Vllt. hat ja jmd anders noch eine Idee..
VG Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 14:42:06
Reinhard
Hallo Nadine,
in ein Standardmodul, Modul1 o.ä.
Sub xls2txt()
Worksheets("Tabelle1").Copy
ActiveWorkbook.SaveAs Replace(ThisWorkbook.FullName, ".xls", ".txt")
Application.RecentFiles.Add Name:=ActiveWorkbook.Name
ActiveWorkbook.Close savechanges:=False
End Sub

Die txt steht dann in der Liste der zuletzt geöffneten Dateien.
Reicht das zum Wiederöffnen? Wenn nicht wie soll Vba wissen welche Txt du öffnen willst
wenn es mehrere im Verzeichnis gibt.?
Gruß
Reinhard
Anzeige
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 15:04:23
KlausF
Hallo Nadine,
aus meiner Sammlung:
https://www.herber.de/bbs/user/79894.xls
Du musst lediglich noch den Speichernamen und den Bereich anpassen ...
Gruß
Klaus
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 15:09:28
Nadine
Hallo Klaus,
auch Deine Idee werde ich mir in Ruhe ansehen und Feedback geben.
Auch Dir vielen vielen Dank!
LG Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 19:31:33
Nadine
Hallo Klaus,
bei mir funktioniert nun alles wunderbar, auch Dir vielen Dank!
LG Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 21:43:07
Reinhard
Hallo Nadine,
ich fühle mich irgendwie ungelesen :-)
Hast du meinen Code probiert, was ist geschehen?
PC abgefackelt, tat sich nix, Fehlermeldungen,...?
Gruß
Reinhard
Anzeige
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 15:02:22
CitizenX
Hi,
den Tabellenname musst du noch anpassen:
Codes in ein allgemeines Modul
Sub CopyToText()
    'Schreibt die Daten in ein TextFile
    Dim fso As Object, oStream As Object, oClipBoard As Object
    Dim FileName As String
    
    FileName = "C:\Temp\Backup.txt"
    ' Textdatei erstellen
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oStream = fso.CreateTextFile(FileName, True)
    oStream.Close
    
    'Temp Textdatei mit Daten aus Zwischenablage versorgen
    Set oStream = fso.OpenTextFile(FileName, 2)
    Set oClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    
    ' !!!!!!! Tabellenname und anpassen !!!!!!
    Sheets("Tabelle2").UsedRange.Copy
    'Daten in Zwischenablage kopieren
    oClipBoard.GetFromClipboard
    
    'Daten von Zwischenablage in Txt Datei einfügen
    oStream.WriteLine oClipBoard.GetText
    Application.CutCopyMode = False
    oStream.Close
    
    Set oStream = Nothing
    Set oClipBoard = Nothing
    Set fso = Nothing
End Sub
Sub getOldText()
    ' Schreibt die Daten der Txtdatei zurück
    Dim fso As Object, oStream As Object, oClipBoard As Object
    Dim FileName As String, strText As String
    
    FileName = "C:\Temp\Backup.txt"
  
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    ' Tempdatei zum Lesen öffnen
    Set oStream = fso.OpenTextFile(FileName, 1)
    
    ' Gesamten Inhalt in eine String-Variable einlesen
    strText = oStream.ReadAll
    oClipBoard.SetText strText
    ' Inhalt in Zwischenablage copieren
    oClipBoard.PutInClipboard
    
    ' Daten in Orginal Datei zurückschreiben
    ' !!!!!!! Tabellenname und anpassen !!!!!!
    Application.Goto Sheets("Tabelle2").Range("A1")
    ActiveSheet.Paste
    oStream.Close
    
    Set oStream = Nothing
    Set oClipBoard = Nothing
    Set fso = Nothing
End Sub

Grüße
Steffen
Anzeige
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 15:08:20
Nadine
Hallo Steffen,
genau so etwas habe ich mir erhofft! Ich werde es mal studieren, anpassen und testen. Ich melde mich wieder wenn ich soweit bin.
Vielen vielen Dank!
LG Nadine
AW: Tabelleninhalt in Textdatei + zurück
21.04.2012 19:32:30
Nadine
Hallo Steffen,
bei mir funktioniert nun alles wunderbar, auch Dir vielen Dank!
LG Nadine

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige