Guten Tag zusammen
Möchte aus einem Excelsheet heraus ein CSV speichern, so aufbereitet, dass ein andere Software die Daten übernehmen kann.
Das Excel hat 2 Register, im 1.Register werden die Daten abgefüllt, im 2.Register die Daten so geordnet zur übergabe.
Im 2.Register sind Formeln in den Zellen, mit einem Knopf (VBA Makro) starte ich das Speichern der CSV Datei.
Die Aussgabe sieht so aus:
<VERSION.ARTIKEL.ARTNR>;<VERSION.VARNR>;<VERSION.VERSION>;<POS>;BOMITEMNOKEYWORD;POSNREXT;ANZAHL;TEILEBEZ;;;;;
703.9035;1;1;1;066.5036;201;1;;;;;;
703.9035;1;1;2;167.0104;202;1;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
Sollte aber so aussehen:
<VERSION.ARTIKEL.ARTNR>;<VERSION.VARNR>;<VERSION.VERSION>;<POS>;BOMITEMNOKEYWORD;POSNREXT;ANZAHL;TEILEBEZ
703.9035;1;1;0;066.5036;201;1;A
703.9035;1;1;0;167.0104;202;1;
Wie bringe ich die Leerzeile rein und die überschüssigen ;;; raus?
VBA Code im Excel:
Sub delete_empty_rows()
Dim nRow As Long
Dim nLastrow As Long
Application.ScreenUpdating = False
ActiveCell.SpecialCells(xlLastCell).Select
nLastrow = ActiveCell.Row
Cells(1, 1).Select
For nRow = 1 To nLastrow
'Zelle A in aktueller Zeile auf Inhalt überprüfen
If Cells(nRow, 1).Value = "" Then
Rows(nRow).Delete
End If
Next
Application.ScreenUpdating = True
'Registerblatt umbenennen
ActiveWorkbook.Sheets(2).Name = Range("A2").Value
'Tabelle als CSV auf dem Desktop speichern
ActiveWorkbook.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & ActiveSheet.Name & ".csv", FileFormat:=xlCSV, local:=True
End Sub
Merci für den Tipp!
ROG
|