Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV ohne ausgeblendete Zeilen

Forumthread: CSV ohne ausgeblendete Zeilen

CSV ohne ausgeblendete Zeilen
29.10.2014 09:03:32
Markus
Hallo
das untenstehende Makro funktioniert bestens.
Aber wie kann ich vermeiden, dass Excel ausgeblendete Zeilen (mit Daten >> Filtern >> erstellt) nicht in die CSV-Datei schreibt.
Jetzt schon herzlichen Dank für eine evtl. Hilfe-Stellung
Markus
Option Explicit
Sub Export_fuer_MDSOFT()
Dim strSep As String, strDat As String, _
iCol As Byte, iRow As Integer, _
iR As Integer, iC As Byte, strTxt As String, _
strMldg As String, strDel As String, strdateiname As String
iRow = ActiveSheet.UsedRange.Rows.Count
iCol = Cells(1, Columns.Count).End(xlToLeft).Column   ' nicht UsedRange
' wenn ohne Gänsefüße: strDel = ""
' strDel = Chr(34)
strDel = ""
strSep = ";"
If strSep = "" Then Exit Sub
If strSep = "9" Then
strSep = Chr(9)
Else
strSep = Left(Trim(strSep), 1)
End If
strdateiname = Replace(ActiveWorkbook.Name, ".xlsm", "")
' MsgBox strdateiname
DateiName:
'  strDat = InputBox("Dateiname?", "DateiName", ThisWorkbook.Path & "\")
strDat = ThisWorkbook.Path & "\" & strdateiname & ".csv"
If strDat = "" Then Exit Sub
If InStr(strDat, ":\") = 0 Then strDat = ThisWorkbook.Path & "\" & strDat
If Dir(strDat)  "" Then
Kill strDat
End If
On Error GoTo DateiFehler
Open strDat For Output As #1
For iR = 2 To iRow               ' ab 2 - ohne Überschrift
strTxt = strDel & Cells(iR, 1) & strDel
For iC = 2 To iCol
strTxt = strTxt & strSep & strDel & Cells(iR, iC) & strDel
Next iC
Print #1, strTxt
Next iR
Close #1
MsgBox ("Die Datei " & strDat & " wurde angelegt.")
Exit Sub
DateiFehler:
MsgBox ("Fehler in Dateinamen!")
Resume DateiName
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV ohne ausgeblendete Zeilen
29.10.2014 09:27:39
Luschi
Hallo Markus,
so wird ein Schuh draus:

For ir = 2 To irow
If Not ActiveSheet.Cells(ir, 1).EntireRow.Hidden Then
strTxt = strDel & ActiveSheet.Cells(ir, 1).Value & strDel
End If
Next ir
Gruß von Luschi
aus klein-Paris

AW: CSV ohne ausgeblendete Zeilen
29.10.2014 09:48:09
Markus
Hallo Luschi
besten Dank für Deine Nachricht.
Ich bin wohl noch zu unerfahren für VBA.
Ich habe versucht, getestet und gerätselt, aber ich schaffe es nicht,
Deine Zeilen in mein Programm zu "mixen".
Ich bin scheinbar vom Profi-VBAler noch sehr, sehr weit entfernt.
Darf ich nochmals um Hilfe bitten.
Danke
Markus

Anzeige
AW: CSV ohne ausgeblendete Zeilen
29.10.2014 09:48:26
Markus
Hallo Luschi
besten Dank für Deine Nachricht.
Ich bin wohl noch zu unerfahren für VBA.
Ich habe versucht, getestet und gerätselt, aber ich schaffe es nicht,
Deine Zeilen in mein Programm zu "mixen".
Ich bin scheinbar vom Profi-VBAler noch sehr, sehr weit entfernt.
Darf ich nochmals um Hilfe bitten.
Danke
Markus

Anzeige
AW: CSV ohne ausgeblendete Zeilen
29.10.2014 09:33:05
fcs
Hallo Markus,
füge in der For-Next-Schleife für die Zeilen eine Prüfung ein, ob die Zeile ausgeblendet ist.
Gruß
Franz
For iR = 2 To iRow               ' ab 2 - ohne Überschrift
If Cells(iR, 1).EntireRow.Hidden = False Then
strTxt = strDel & Cells(iR, 1) & strDel
For iC = 2 To iCol
strTxt = strTxt & strSep & strDel & Cells(iR, iC) & strDel
Next iC
Print #1, strTxt
End If
Next iR

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

CSV ohne ausgeblendete Zeilen in Excel exportieren


Schritt-für-Schritt-Anleitung

Um eine CSV-Datei aus Excel zu exportieren, ohne dass ausgeblendete Zeilen enthalten sind, kannst Du folgendes VBA-Makro verwenden.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:
Option Explicit

Sub Export_fuer_MDSOFT()
    Dim strSep As String, strDat As String, _
    iCol As Byte, iRow As Integer, _
    iR As Integer, iC As Byte, strTxt As String, _
    strDel As String
    iRow = ActiveSheet.UsedRange.Rows.Count
    iCol = Cells(1, Columns.Count).End(xlToLeft).Column
    strDel = ""
    strSep = ";"

    strDat = ThisWorkbook.Path & "\" & Replace(ActiveWorkbook.Name, ".xlsm", "") & ".csv"

    If Dir(strDat) <> "" Then Kill strDat

    Open strDat For Output As #1
    For iR = 2 To iRow
        If Not Cells(iR, 1).EntireRow.Hidden Then ' Überprüfung auf ausgeblendete Zeilen
            strTxt = strDel & Cells(iR, 1) & strDel
            For iC = 2 To iCol
                strTxt = strTxt & strSep & strDel & Cells(iR, iC) & strDel
            Next iC
            Print #1, strTxt
        End If
    Next iR
    Close #1
    MsgBox ("Die Datei " & strDat & " wurde angelegt.")
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, um die CSV-Datei zu erstellen.

Häufige Fehler und Lösungen

  • Fehler: "Fehler in Dateinamen!"
    Dies kann auftreten, wenn der Dateiname ungültige Zeichen enthält. Stelle sicher, dass der Dateiname nur zulässige Zeichen enthält.

  • CSV-Datei wird nicht erstellt.
    Überprüfe, ob Du Berechtigungen zum Schreiben im angegebenen Verzeichnis hast. Der Pfad sollte korrekt sein und die Excel-Datei sollte nicht schreibgeschützt sein.


Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die Filterfunktion in Excel nutzen, um die ausgeblendeten Zeilen manuell auszublenden und dann die Daten in eine neue Datei zu kopieren. Gehe wie folgt vor:

  1. Filtere Deine Daten, um die gewünschten Zeilen anzuzeigen.
  2. Markiere die angezeigten Zeilen und kopiere sie (Strg + C).
  3. Öffne ein neues Excel-Dokument und füge die Daten dort ein (Strg + V).
  4. Speichere die Datei als CSV über Datei > Speichern unter und wähle das CSV-Format aus.

Praktische Beispiele

Angenommen, Du hast eine Excel-Tabelle mit Verkaufsdaten und einige Zeilen sind ausgeblendet. Mit dem oben genannten VBA-Makro kannst Du die sichtbaren Daten in eine CSV-Datei exportieren, ohne dass die ausgeblendeten Zeilen berücksichtigt werden. Dies ist besonders nützlich, wenn Du Daten für eine Analyse bereitstellen möchtest, ohne irrelevante Informationen einzuschließen.


Tipps für Profis

  • Verwende die richtige Trennzeichen: Stelle sicher, dass das Trennzeichen (strSep) Deinen Bedürfnissen entspricht. Standardmäßig ist es auf ; gesetzt, kann aber leicht in , geändert werden.
  • Fehlerbehandlung: Füge zusätzliche Fehlerbehandlungsroutinen hinzu, um Probleme beim Dateizugriff zu vermeiden.
  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch beim Speichern der Datei ausgeführt wird.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um andere Daten zu exportieren?
Du kannst die Zellreferenzen im Code ändern, um andere Bereiche zu exportieren. Achte darauf, die Schleifen (For iR, For iC) entsprechend anzupassen.

2. Funktioniert dieses Makro in allen Excel-Versionen?
Das Makro sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren. Überprüfe jedoch, ob die VBA-Umgebung aktiviert ist.

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