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

VBA zum Datenexport als CSV

VBA zum Datenexport als CSV
21.12.2015 19:08:02
Hans
Guten Abend!
Bin gerade dabei, ein kleines Makro zu schreiben, um gewisse Spalten aus einer Exceldatei heraus in eine CSV-Datei zu exportieren und hätte folgende Fragen dazu:
1) Wie schaffe ich es, dass ich die Spalten explizit angeben kann, beispielsweise: exportiere die Spalten A bis F, K und L?
Nachstehend der bisherige Code sowie eine Beispieldatei um die Sache etwas greifbarer zu machen:
Sub csvExport()
Dim Ze As Long, Sp As Integer
Dim FF As Integer
Dim FullPath1 As String
Dim lRow As Long
Dim Zeile As String, Zelle As String
lRow = Cells.Find(what:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
FullPath1 = "C:\Users\Foena\Desktop\csv\" & ActiveSheet.Name & ".txt"
FF = FreeFile
Open FullPath1 For Output As #FF
For Ze = 2 To lRow
If WorksheetFunction.CountA(Range("A" & Ze & ":A" & Ze)) > 0 Then
Zeile = ""
For Sp = 1 To 1
Zelle = Cells(Ze, Sp)
If Not IsNumeric(Zelle) Then Zelle = Chr(34) & Zelle & Chr(34)
Zeile = Zelle
Next Sp
Zelle = Cells(Ze, 1)
Zeile = Zelle
Print #1, Zeile
End If
Next Ze
Close #FF
End Sub

https://www.herber.de/bbs/user/102394.xlsm
Falls jemand eine bessere Lösung parat hat, wäre ich natürlich auch sehr erfreut! Das Makro sollte folgendes beherschen:
- Export von vorgegebenen Spalten aus Excel nach CSV
- Trennzeichen = Strichpunkt
- Dateiname der CSV-Datei sollte Name vom aktuellen Tabellenblatt sein
- Leere Zeilen sollten ignoriert werden und nur jene, welche mit Werten gefüllt sind, exportiert werden
Vielen Dank für eure Unterstützung!
Lg Hans

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

Betreff
Datum
Anwender
Anzeige
AW: VBA zum Datenexport als CSV
22.12.2015 11:01:32
Stefan
Grüß Dich Hans,
ich habe für den Hermes-Versand folgendes Makro geschrieben. Vielleicht hilft Dir der ein oder andere Befehl was. Solltest Du ebenfalls für Hermes das programmieren, dann kannst Du Dir die Arbeit sparen, da die einen Bug in Ihrer Software haben und nicht darauf reagieren. Ansonsten hoffe ich, daß ich Dir helfen konnte. Stefan
Sub treserve()
Call Kopieren
Call CSVumwandlung
Call Editor
Call Hermes
End Sub
Sub CSVumwandlung()
Dim ws As Worksheet
With Sheets("Ausgabe")
.Range("A11").Value = .Range("B11").Value
.Range("B11").Value = .Range("B12").Value
.Range("C11").Value = .Range("C11").Value
.Range("D11").Value = .Range("C12").Value
Workbooks.Add
ActiveSheet.Range("A1:I10").Value = .Range("A1:I10").Value
End With
ActiveWorkbook.SaveAs _
Filename:="\\E:\Daten\sdoliwa\Desktop\ZZHermes.csv", _
FileFormat:=xlCSV, CreateBackup:=False, Local:=True
ActiveWorkbook.Close
End Sub

Sub Editor()
Const Editor = "C:\Windows\notepad.exe"
Const DATEI = "E:\daten\sdoliwa\Desktop\ZZHermes.csv"
With CreateObject("Wscript.Shell")
.Run """" & Editor & """ """ & DATEI & """", 5
End With
End Sub

Sub Hermes()
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "http://myhermes.de/"
End Sub

Sub Kopieren()
Range("A1:I10").Select
Selection.Copy
Sheets("Ausgabe").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Anzeige
AW: VBA zum Datenexport als CSV
25.12.2015 09:25:25
Hajo_Zi
Hallo Stefan,
warum offen? Du hast doch einen Vorschlag gemacht. Lasse den Fragesteller entscheiden ob offen. Es ist Heute nicht mehr üblich eine Rückmeldung zu geben und so ist der Beitrag über Tage offen.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige