Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur bestimmte Spalten in Textdatei speichern

Nur bestimmte Spalten in Textdatei speichern
23.01.2005 17:50:57
Stefan
Hi Prof's
Über das Abspeichern von Einzelnen Spalten oder Bereichen habe ich inzwischen schon 'ne Menge gelesen. Ich möchte aber per Code die Spalte 3, 6 und 9
in eine Text-Datei speichern. Aber ohne vorher Die Spalten zu verschieben.
Hat einer von Euch ne Idee?
Gruß Stefan
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur bestimmte Spalten in Textdatei speichern
23.01.2005 18:04:15
chris
Damit geht das.

Sub writtotest()
Dim actcell As Range
Open "C:\test.txt" For Append Access Write Lock Write As #1
For Each actcell In Range("C1:C1000")
If Not (IsEmpty(actcell.Value) Or actcell.Value = "") Then
Print #1, actcell.Value; "," & actcell.Offset(0, 3).Value & "," & actcell.Offset(0, 6).Value
End If
Next actcell
Close #1
End Sub

Anzeige
AW: Nur bestimmte Spalten in Textdatei speichern
23.01.2005 18:24:32
Stefan
Danke Chris, das isses...
Gruß Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Spalten in Textdatei speichern


Schritt-für-Schritt-Anleitung

Um bestimmte Spalten in einer Textdatei zu speichern, kannst du ein einfaches VBA-Skript verwenden. Folgendes Vorgehen ist erforderlich:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Menü Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:
Sub writtotest()
    Dim actcell As Range
    Open "C:\test.txt" For Append Access Write Lock Write As #1
    For Each actcell In Range("C1:C1000")
        If Not (IsEmpty(actcell.Value) Or actcell.Value = "") Then
            Print #1, actcell.Value; "," & actcell.Offset(0, 3).Value & "," & actcell.Offset(0, 6).Value
        End If
    Next actcell
    Close #1
End Sub
  1. Ändere den Pfad "C:\test.txt" zu dem gewünschten Speicherort.
  2. Schließe den VBA-Editor und führe das Skript aus, indem du F5 drückst.

Dieses Skript wird die Werte aus Spalte 1, 4 und 7 (entsprechend Spalte 3, 6 und 9 in deinem Fall) in die angegebene Textdatei speichern.


Häufige Fehler und Lösungen

  • Fehler: "Datei kann nicht geöffnet werden"

    • Stelle sicher, dass der angegebene Pfad korrekt ist und du die erforderlichen Berechtigungen zum Schreiben in diesen Ordner hast.
  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Überprüfe, ob die Zellen im angegebenen Bereich (C1:C1000) korrekt definiert sind und tatsächlich Daten enthalten.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch die Excel-Funktion "Text in Spalten" nutzen, um die gewünschten Daten manuell zu extrahieren und dann in eine Textdatei zu kopieren:

  1. Markiere die gewünschten Spalten.
  2. Kopiere sie und füge sie in ein neues Arbeitsblatt ein.
  3. Gehe zu Datei > Speichern unter und wähle das Format .txt aus.

Praktische Beispiele

Nehmen wir an, du hast eine Excel-Tabelle mit den folgenden Werten:

A B C D E F G H I
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18

Wenn du die Spalten C, F und I (3, 6 und 9) speichern möchtest, wird die Textdatei so aussehen:

3,6,9
12,15,18

Tipps für Profis

  • Nutze die Option Explicit-Anweisung am Anfang deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert sind. Dies kann dir helfen, Fehler frühzeitig zu erkennen.
  • Experimentiere mit der Join-Funktion, um die Werte in einer Zeile zu formatieren, bevor du sie in die Textdatei schreibst.

FAQ: Häufige Fragen

1. Frage: Kann ich die Spalten nach dem Speichern in einer anderen Reihenfolge angeben?
Antwort: Ja, du kannst die Offset-Werte im VBA-Code anpassen, um die gewünschten Spalten in der gewünschten Reihenfolge zu speichern.

2. Frage: Funktioniert dieses Skript in Excel 2016?
Antwort: Ja, das Skript sollte in Excel 2016 und neueren Versionen problemlos funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige