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
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige