Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1876to1880
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
Inhaltsverzeichnis

Wenn textbox leer bei Export ausfüllen

Wenn textbox leer bei Export ausfüllen
12.04.2022 21:01:38
Andre
Hallo,
ich brauche als Anfänger mal Eure Hilfe bei folgender Aufgabe:
Ich fülle eine Listbox und Textboxen und dann wird durch Klicken eines Command-Buttons eine .csv-Datei erstellt.
Wenn nun die Textbox_charge nicht gefüllt ist, soll beim Export automatisch "nocharge" exportiert werden.
Der Export-Code sieht so aus:

Private Sub CommandButton_Export_Click()
Const sSep As String = ";"
Dim i As Long
Dim j As Long
Dim sFile As String, stext$, iFilenr As Integer
iFilenr = FreeFile
sFile = "C:\Users\andre\OneDrive\Dokumente\Arbeit Andre\" & TextBox_kurzbez.Value & "_warenausgang_" & TextBox_Auftrag.Value & ".csv"
Open sFile For Output As iFilenr
Print #iFilenr, "AUFTRAGSNR;MANDANT;ZUSTAND;AUFTRAGSART;VERSANDART;ZOLL_KNZ;PRIO;ANZ_POS;ANZ_OPOS;LIEFER_DATUM;VERLADE_DATUM;AUFTRAGS_DATUM;KUNDENNR;SPRACHE;LAGER_NR;POS_AUFTRAGSNR;POS_MANDANT;POS_AUFTRAGSPOS;POS_ARTIKELNR;POS_ZUSTAND;POS_MENGE_SOLL;POS_MENGE_IST;POS_EINHEIT;CHARGE"
With UserForm_WA.ListBox1
For i = 0 To .ListCount - 1
If i 
Kann mir einer den Code anpassen?
Danke und Gruß
Andre

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn textbox leer bei Export ausfüllen
12.04.2022 22:29:11
ralf_b

iif( TextBox_charge = "", "nocharge", TextBox_charge)

AW: Wenn textbox leer bei Export ausfüllen
13.04.2022 11:13:19
Yal
Hallo Andre,
sehe ich das richtig, dass der einzige Grund, die letzte Zeile anders zu behandeln, ist die letzte zeile in der Datei ohne Carriage Return (=neue Zeile, = ";") reinzubringen?
Wenn Du schon durch die For-Schleife weisst, welche Wert die Variable i hat, musst Du diese nicht separat testen.
Reduziere die For-Schleife um ein Element (also ListCount -2) und behandle anschliessend die letzte Zeile*

Private Sub CommandButton_Export_Click()
Dim i As Long
Dim j As Long
Dim sFile As String, stext$, iFilenr As Integer
Const sSep As String = ";"
iFilenr = FreeFile
sFile = "C:\Users\andre\OneDrive\Dokumente\Arbeit Andre\" & TextBox_kurzbez.Value & "_warenausgang_" & TextBox_Auftrag.Value & ".csv"
Open sFile For Output As iFilenr
Print #iFilenr, "AUFTRAGSNR;MANDANT;ZUSTAND;AUFTRAGSART;VERSANDART;ZOLL_KNZ;PRIO;ANZ_POS;ANZ_OPOS;LIEFER_DATUM;VERLADE_DATUM;AUFTRAGS_DATUM;KUNDENNR;SPRACHE;LAGER_NR;POS_AUFTRAGSNR;POS_MANDANT;POS_AUFTRAGSPOS;POS_ARTIKELNR;POS_ZUSTAND;POS_MENGE_SOLL;POS_MENGE_IST;POS_EINHEIT;CHARGE"
With UserForm_WA.ListBox1
For i = 0 To .ListCount - 2
Print #iFilenr, Join(Array(.List(i, 0), .List(i, 2), "10", ComboBox_art, .List(i, 9), "N", "50", ListBox1.ListCount, ListBox1.ListCount, .List(i, 4) & " 00:00:00.000", .List(i, 5) & " 00:00:00.000", .List(i, 6) & " 00:00:00.000", .List(i, 3), "D", "001", .List(i, 0), .List(i, 2), .List(i, 1), .List(i, 7), "10", .List(i, 8), "0", "STK", IIf(TextBox_charge = "", "nocharge", TextBox_charge)), sSep)
Next
Print #iFilenr, Join(Array(.List(i, 0), .List(i, 2), "10", ComboBox_art, .List(i, 9), "N", "50", ListBox1.ListCount, ListBox1.ListCount, .List(i, 4) & " 00:00:00.000", .List(i, 5) & " 00:00:00.000", .List(i, 6) & " 00:00:00.000", .List(i, 3), "D", "001", .List(i, 0), .List(i, 2), .List(i, 1), .List(i, 7), "10", .List(i, 8), "0", "STK", IIf(TextBox_charge = "", "nocharge", TextBox_charge)), sSep);
End With
Close iFilenr
MsgBox "Datei wurde angelegt:" & vbLf & sFile, vbInformation, " "
End Sub
*: eine For i = 1 to 5 wirkt nur bis i = 5 aber springt erst raus, wenn i = 6. Das erfolgt durch "Next". Also wenn die For-Schleife zu Ende ist, ist i = 6.
genauso bei For i = 0 To .ListCount - 2 : nach Ende der For-Schleifendurchlauf ist i = .ListCount -1
VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige