Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
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

Print Zeile bei anzuhängender Datei nicht anhängen

Print Zeile bei anzuhängender Datei nicht anhängen
11.02.2016 13:25:28
Erik
Hallo zusammen!
Ich habe folgendes Macro:
Sub csv_umwandeln_EFA()
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim wie As Integer
Dim aB As Variant   ' Bereich als ARRAY
Dim r() As Variant
Dim z As Long, s As Long ' zeile/Spalte im Array aB
' Spalte E, Spalte G, Spalte D und Splate F.
r = Array(2, 4, 1, 3)   ' Index in r geht von 0 bis 3, siehe Schleife unten
If Selection.Columns.Count  4 Or Selection(1).Column  4 Then
MsgBox "Es wurde nicht D-G selektiert"
Exit Sub
End If
'    strDateiname = ActiveWorkbook.FullName
'    strDateiname = Replace(strDateiname, ".xls", ".csv")
strDateiname = "D:\Bestellung EFA.csv"  '& Replace(ActiveWorkbook.Name, ".xls", ".csv")
strDateiname = InputBox("Datei", "Datei Wählen", strDateiname)
If strDateiname = "" Then Exit Sub
wie = vbNo
If Dir(strDateiname)  "" Then
wie = MsgBox("Daten anhängen?", vbYesNo, strDateiname & "Datei bereits vorhanden")
If wie = vbCancel Then Exit Sub
End If
strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ";") _
_
_
If strTrennzeichen = "" Then Exit Sub
aB = Selection   ' hier von 1 bis 4, also D=1 .. G=4
' bzw. wegen r: 2,4,1,3 = E,G,D,F
If wie = vbNo Then
Open strDateiname For Output As #1
Else
Open strDateiname For Append As #1
End If
Print #1, "0000000;1;Kennzeichen;Bezeichnung"
For z = 1 To UBound(aB, 1)
strTemp = ""
' dann aus den Spalten D-G:
For s = 0 To 3
If InStr(1, aB(z, r(s)), strTrennzeichen) > 0 Then
strTemp = strTemp & """" & aB(z, r(s)) & """"
Else
strTemp = strTemp & CStr(aB(z, r(s)))
End If
' immer Trennzeichen, außer beim Letzten...
If s 
Aber das Problem das beim anhängen einer vorhandenen *csv Datei die Zeile:
Print #1, "0000000;1;Kennzeichen;Bezeichnung"
auch mit angehängt wird. Das soll aber nur bei einer neu erstellten csv Datei passieren.
Kann mir jemand die Änderung schreiben, da ich von VBA leider nicht so den Plan hab !

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

Betreff
Datum
Anwender
Anzeige
AW: Print Zeile bei anzuhängender Datei nicht anhängen
11.02.2016 13:45:17
ChrisL
Hi Erik
Auf die Schnelle. Vielleicht hilft schon
If wie = vbNo Then
Open strDateiname For Output As #1
Else
Open strDateiname For Append As #1
End If
Print #1, "0000000;1;Kennzeichen;Bezeichnung"
Ändern:
If wie = vbNo Then
Open strDateiname For Output As #1
Print #1, "0000000;1;Kennzeichen;Bezeichnung"
Else
Open strDateiname For Append As #1
End If
cu
Chris

AW: Print Zeile bei anzuhängender Datei nicht anhängen
11.02.2016 14:02:47
Erik
Hallo Chris,
vielen, lieben Dank:
das wars.
Gruß
Erik :-)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige