Sub test()
Const fn1 = "D:\Mappe1.csv"
Const fn2 = "D:\temp.csv"
Dim f1 As Integer, f2 As Integer
Dim z As String
f1 = FreeFile
Open fn1 For Input As f1
f2 = FreeFile
Open fn2 For Output As f2
Do While Not EOF(f1)
Line Input #f1, z
Print #f2, "3;" & z 'Spalte mit 3 einfügen
Loop
Close f1
Close f2
Kill fn1 'Originaldatei löschen
Name fn2 As fn1 'temp. Datei umbenennen
End Sub
Gruß Matthias
Sub CSV_Export()
Dim Bereich As Range
Dim Zeile As Range
Dim Zelle As Range
Dim s As String
Dim Verzeichnis As String
Dim Datei As String
Verzeichnis = ActiveWorkbook.Path & "\"
Datei = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".csv"
Set Bereich = Tabelle1.Range("A1:C50")
Open Verzeichnis & Datei For Output As #1
Print #1, "/TABLE;89"
For Each Zeile In Bereich.Rows
If Zeile.Cells(2) <> "" And Zeile.Cells(3) <> "" Then
For Each Zelle In Zeile.Cells
s = s & Zelle.Text & ";"
Next Zelle
s = Left(s, Len(s) - 1)
Print #1, s
End If
s = ""
Next Zeile
Close #1
MsgBox "Die Datei wurde erfolgreich exportiert." & Chr(13) & _
"Sie befindet sich unter:" & Chr(13) & Chr(13) & _
Verzeichnis & Datei, vbOKOnly, "CSV Export"
End Sub
Kann ich jetzt nicht vor dem Export am Anfang der Tabelle eine neue Spalte einfügen in der ich den Wert aus einer Inputbox einfülle?
Alternativ könnte ich ja die Tabelle kopieren in ein neues Blatt einfügen, neue Spalte einfügen, exportieren und hilfsblatt wieder löschen.
Was meinst Du dazu?
Gruss Roger
Print #1, s
einfach die:
Print #1, "3;" & s
verwenden.
Gruß Matthias
Option Explicit
Sub CSV_Export()
Dim Bereich As Range
Dim Zeile As Range
Dim Zelle As Range
Dim strZ As String
Dim Verzeichnis As String
Dim Datei As String
Dim lngNr As Long
lngNr = 3 ' Startnummer
Verzeichnis = ActiveWorkbook.Path & "\"
Datei = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".csv"
Set Bereich = Tabelle1.Range("A1:C50")
Open Verzeichnis & Datei For Output As #1
Print #1, "/TABLE;89"
For Each Zeile In Bereich.Rows
If Zeile.Cells(2) <> "" And Zeile.Cells(3) <> "" Then
For Each Zelle In Zeile.Cells
strZ = strZ & Zelle.Text & ";"
Next Zelle
strZ = Left(strZ, Len(strZ) - 1)
Print #1, lngNr & strZ
lngNr = lngNr + 1
End If
strZ = ""
Next Zeile
Close #1
MsgBox "Die Datei wurde erfolgreich exportiert." & Chr(13) & _
"Sie befindet sich unter:" & Chr(13) & Chr(13) & _
Verzeichnis & Datei, vbOKOnly, "CSV Export"
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
A | B | C | |
1 | 100 | aaa | |
2 | 200 | bbb | cc |
3 | 300 | d | eeeeee |
4 | 400 | ffff | |
5 | 500 | ggggggggg | hhhh |
6 | 600 |
Option Explicit
Sub CSV_Export()
Dim Bereich As Range
Dim Zeile As Range
Dim Zelle As Range
Dim strZ As String
Dim Verzeichnis As String
Dim Datei As String
Dim lngNr As Long, intAdd As Integer
lngNr = 1 ' Startnummer BITTE FESTLEGEN
intAdd = 1 ' zum Wert in Spalte A zu addierende Zahl BITTE FESTLEGEN
Verzeichnis = ActiveWorkbook.Path & "\"
Datei = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".csv"
Set Bereich = Tabelle1.Range("A1:C50")
Open Verzeichnis & Datei For Output As #1
Print #1, "/TABLE;89"
For Each Zeile In Bereich.Rows
If Zeile.Cells(2) <> "" And Zeile.Cells(3) <> "" Then
For Each Zelle In Zeile.Cells
If Zelle.Column = 1 Then
strZ = strZ & (Zelle.Text + intAdd) & ";"
Else
strZ = strZ & Zelle.Text & ";"
End If
Next Zelle
strZ = Left(strZ, Len(strZ) - 1)
Print #1, lngNr & ";" & strZ
End If
lngNr = lngNr + 1
strZ = ""
Next Zeile
Close #1
MsgBox "Die Datei wurde erfolgreich exportiert." & Chr(13) & _
"Sie befindet sich unter:" & Chr(13) & Chr(13) & _
Verzeichnis & Datei, vbOKOnly, "CSV Export"
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Option Explicit
Sub CSV_Export()
Dim Bereich As Range
Dim Zeile As Range
Dim Zelle As Range
Dim strZ As String
Dim Verzeichnis As String
Dim Datei As String
Dim intAdd As Integer
intAdd = 1 ' zum Wert in Spalte A zu addierende Zahl - BITTE FESTLEGEN
Verzeichnis = ActiveWorkbook.Path & "\"
Datei = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".csv"
Set Bereich = Tabelle1.Range("A1:C50")
Open Verzeichnis & Datei For Output As #1
Print #1, "/TABLE;89"
For Each Zeile In Bereich.Rows
If Zeile.Cells(2) <> "" And Zeile.Cells(3) <> "" Then
For Each Zelle In Zeile.Cells
If Zelle.Column = 1 Then
strZ = strZ & (Zelle.Text + intAdd) & ";"
Else
strZ = strZ & Zelle.Text & ";"
End If
Next Zelle
strZ = Left(strZ, Len(strZ) - 1)
Print #1, strZ
End If
strZ = ""
Next Zeile
Close #1
MsgBox "Die Datei wurde erfolgreich exportiert." & Chr(13) & _
"Sie befindet sich unter:" & Chr(13) & Chr(13) & _
Verzeichnis & Datei, vbOKOnly, "CSV Export"
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Option Explicit
Sub CSV_Export()
Dim Bereich As Range
Dim Zeile As Range
Dim Zelle As Range
Dim strZ As String
Dim Verzeichnis As String
Dim Datei As String
Dim intAdd As Integer
Set Bereich = Tabelle1.Range("A1:C50")
If WorksheetFunction.CountA(Bereich.Columns("B:C")) = 0 Then Exit Sub
intAdd = 1 ' zum Wert in Spalte A zu addierende Zahl - BITTE FESTLEGEN
Verzeichnis = ActiveWorkbook.Path & "\"
Datei = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".csv"
Open Verzeichnis & Datei For Output As #1
Print #1, "/TABLE;89"
For Each Zeile In Bereich.Rows
If Zeile.Cells(2) <> "" And Zeile.Cells(3) <> "" Then
For Each Zelle In Zeile.Cells
If Zelle.Column = 1 Then
strZ = strZ & (Zelle.Text + intAdd) & ";"
Else
strZ = strZ & Zelle.Text & ";"
End If
Next Zelle
strZ = Left(strZ, Len(strZ) - 1)
Print #1, strZ
End If
strZ = ""
Next Zeile
Close #1
MsgBox "Die Datei wurde erfolgreich exportiert." & Chr(13) & _
"Sie befindet sich unter:" & Chr(13) & Chr(13) & _
Verzeichnis & Datei, vbOKOnly, "CSV Export"
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort, und: Schönes Wochenende!