Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Sonderzeichen vor Spalten einfügen bei Export
18.04.2019 11:50:46
Andre
Hallo,
ich generiere aus einer Listbox eine CSV-Datei. Exportiert werden die ersten drei Spalten der Listbox.
In der dritten Spalte werden 20-stellige Barcodes eingelesen und in der Datei soll vor diesen Nummern ein Apostroph eingefügt werden. Wenn ich im Code & "'" einfüge, schreibt er mir das Apostroph auch vor die zweite Spalte. Es darf aber nur vor die Dritte Spalte.
So soll das später aussehen: SHP-12312;1;'00225446655444889542
Könnte mir jemand den Code anpassen?
Danke
Andre
Private Sub CommandButton_Export_Click()
'MsgBox "Einen Moment bitte," & vbLf & "die Daten werden geschrieben.", vbInformation, " "
Dim i As Long
Dim j As Long
Dim sFile As String, stext$, sSep As String, iFilenr
iFilenr = FreeFile
sSep = ";"
With UserForm_WA.ListBox1
sFile = "S:\GEMEINSAM\Logistik\Glatfelter\W A\GP_WA_Rückmeldung_" & TextBox_Auftrag. _
Value & _
".csv"
Open sFile For Output As iFilenr
For i = 0 To .ListCount - 1
stext = .List(i, 0)
For j = 1 To 2
stext = stext & sSep & .List(i, j)
Next
Print #iFilenr, stext
Next
Close iFilenr
End With
MsgBox "Datei wurde angelegt:" & vbLf & sFile, vbInformation, " "
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sonderzeichen vor Spalten einfügen bei Export
18.04.2019 12:15:24
Klaus
Hi Andre,
ungetestet:
Private Sub CommandButton_Export_Click()
'MsgBox "Einen Moment bitte," & vbLf & "die Daten werden geschrieben.", vbInformation, " "
Dim i As Long
Dim sFile As String, stext$, sSep As String, iFilenr
iFilenr = FreeFile
sSep = ";"
With UserForm_WA.ListBox1
sFile = "S:\GEMEINSAM\Logistik\Glatfelter\W A\GP_WA_Rückmeldung_" & TextBox_Auftrag. _
Value & _
".csv"
Open sFile For Output As iFilenr
For i = 0 To .ListCount - 1
stext = .List(i, 0)
stext = stext & sSep & .List(i, 1)
stext = stext & sSep & "'" & .List(i, 2)
Print #iFilenr, stext
Next
Close iFilenr
End With
MsgBox "Datei wurde angelegt:" & vbLf & sFile, vbInformation, " "
End Sub
Gruß,
Klaus
Anzeige
AW: Sonderzeichen vor Spalten einfügen bei Export
18.04.2019 15:03:21
Andre
Hat funktioniert.
Super Sache - Vielen Dank!!
Gruß und schöne Ostern
Andre
AW: Sonderzeichen vor Spalten einfügen bei Export
18.04.2019 12:24:27
Daniel
Hi
wie von Klaus gezeigt, wenn das vorgehen nicht bei allen Spalten gleich ist, dann ist eine Schleife nicht sinnvoll, sondern man muss jeden Wert dann einzeln hinzufügen.
in deinem Fall würde sich die JOIN-Funktion zur Vereinfachung des Codes anbieten:
For i = 0 To .ListCount - 1
Print #iFilenr, Join(Array(.List(i, 0), .List(i, 1), "'" & .list(i, 2)), sSep)
Next
Gruß Daniel
noch ne Variante für Schleife
18.04.2019 12:35:17
Daniel
bei vielen Spalten kann des dann trotzdem sinnvoll sein, eine Schleife zu verwenden.
man muss dann eben durch Abfragen in der Schleife die Sonderfälle berücksichtigen:

For i = 0 To .ListCount - 1
For j = 0 To 2
Select Case j
Case 0
Case 2
stext = stext & sSep & "'"
Case else
stext = stext & sSep
End Select
stext = stext .List(i, j)
Next j
Print #iFilenr, stext
Next i
Gruß Daniel
Anzeige
AW: noch ne Variante für Schleife
18.04.2019 15:05:03
Andre
Hallo Daniel,
habe die Variante von Klaus probiert und sie funktioniert.
Deine werde ich aber auch noch mal testen.
Gruß und schöne Ostern
Andre

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige