Microsoft Excel

Herbers Excel/VBA-Archiv

Export von Zeile nach Zeile CSV.

Betrifft: Export von Zeile nach Zeile CSV. von: Sascha
Geschrieben am: 09.09.2014 13:23:42

Guten Tag,

Ich stehe gerade etwas auf dem Schlau.

Ich möchte eigentlich "nur" die Zeile 1 aus dem Blatt "Daten" in eine .CSV Datei geschrieben haben.

Die Trennung mittels ;, oder etc währe schön. Mit jedem start des Macros soll eine neue Zeile hinzugefügt werden.

Hinweis: Ich weiß nicht ob das wichtig ist. Die Daten aus dem Blatt "Daten" sind mit Sverweise generiert worden.

Sub gringoo()
Dim rngCell As Range
Dim lngFF As Long

lngFF = FreeFile
Open "C:\Temp\csv" & Format(Date, "yyyymmdd") & ".csv" For Append As lngFF

For Each rngCell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, 23)
  If rngCell.Row = 1 And rngCell.Value > 0 Then
      Print #lngFF, rngCell.Value
  End If
Next rngCell

Close lngFF

End Sub



Dieses Script kommt meinem Anwendungsfall nahe. Es ist nicht meins.

MFG
Sascha

  

Betrifft: AW: Export von Zeile nach Zeile CSV. von: Udo
Geschrieben am: 09.09.2014 14:58:46

Hai Sascha,

ich würd das FÜR MICH so lösen:

Sub Makro1()
    
    Application.ScreenUpdating = False
    
    Rows("1:1").Copy
    
    Workbooks.Add
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
      
    Application.CutCopyMode = False
    
    Application.DisplayAlerts = False
    
       
    ActiveWorkbook.SaveAs Filename:="I:\1\" & Format(Date, "yyyymmdd") & ".csv", _
       FileFormat:=xlCSV, CreateBackup:=False
        
    ActiveWorkbook.Save
    
    ActiveWindow.Close
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
   
   
End Sub
Macht einfach folgendes:

Erste Zeile kopieren, neue Mappe anlegen, erste Zeile in neue Mappe, neue Mappe als CSV-Datei speichern.

Manche Dinge werden "ausgeschaltet" und wieder "eingeschaltet".

Application.DisplayAlerts schaltet Fehlerhinweise aus und an.
Application.ScreenUpdating schaltet das Bildschirmflattern aus und an.

Hab ich übrigens überwiegend erst mal mittels Makro-Recorder aufgezeichnet und dann ein wenig angepasst. (Bin auch kein sooooo VBA-Experte, wie manche hier !!)

Gruß

Udo


  

Betrifft: AW: Export von Zeile nach Zeile CSV. von: Rudi Maintaire
Geschrieben am: 09.09.2014 16:15:48

Hallo,

Sub gringoo()
  Dim rngCell As Range
  Dim lngFF As Long
  Dim strTmp As String
  lngFF = FreeFile
  Open "C:\Temp\csv" & Format(Date, "yyyymmdd") & ".csv" For Append As lngFF
  
  For Each rngCell In Range(Cells(1, 1), Cells(1, Columns.Count).End(xlToLeft))
    If rngCell.Value > 0 Then
      strTmp = strTmp & ";" & rngCell
    End If
  Next rngCell
  If Len(strTmp) Then
    strTmp = Mid(strTmp, 2)
    Print #lngFF, strTmp
  End If
  Close lngFF
End Sub

Gruß
Rudi


  

Betrifft: AW: Export von Zeile nach Zeile CSV. von: Sascha
Geschrieben am: 09.09.2014 20:12:26

Vielen vielen Dank!


 

Beiträge aus den Excel-Beispielen zum Thema "Export von Zeile nach Zeile CSV."