Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

CSV ohne ausgeblendete Zeilen

Betrifft: CSV ohne ausgeblendete Zeilen von: Markus
Geschrieben am: 29.10.2014 09:03:32

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

  

Betrifft: AW: CSV ohne ausgeblendete Zeilen von: Luschi
Geschrieben am: 29.10.2014 09:27:39

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


  

Betrifft: AW: CSV ohne ausgeblendete Zeilen von: Markus
Geschrieben am: 29.10.2014 09:48:09

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


  

Betrifft: AW: CSV ohne ausgeblendete Zeilen von: Markus
Geschrieben am: 29.10.2014 09:48:26

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


  

Betrifft: AW: CSV ohne ausgeblendete Zeilen von: fcs
Geschrieben am: 29.10.2014 09:33:05

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



 

Beiträge aus den Excel-Beispielen zum Thema "CSV ohne ausgeblendete Zeilen"