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

Tabellenblatt als .csv per Button

Tabellenblatt als .csv per Button
04.01.2023 15:56:05
Koberind
Hallo zusammen,
ich würde gerne in Tabellenblatt A ein Command Button programmieren, sodass bei Knopfdruck Tabelle B als Kopie in .csv-Format (ohne Trennzeichen) auf einem Pfad X abgespeichert wird. Dabei wäre noch zu beachten, dass nur ganze Zeile(n) (abgesehen von der Überschriftzeile) benutzt werden sollen, die anhand einer (bzw. mehrerer) Angabe(n) in einer Spalte geprüft werden (zB Suche ID ABC; DEF; etc.). Leider habe ich nur seeehr grobe VBA Kenntnisse. Vielen Dank!!
VG
Kobe

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt als .csv per Button
04.01.2023 16:56:15
Andreas_ausWuppertal
Hallo Kobe,
hier ein Lösungsvorschlag:

Sub CSV_Export()
'--Prozedur erzeugt eine csv-Datei
Dim sExportdatei As String
Dim sTrennzeichen As String
Dim rangeZellbereich As Range
Dim varZeile As Variant 'Long
Dim oZelle As Object
Dim sZeile As String
Dim arrTemp() As String
'Pfadangabe, kann natürlich auch per Angabe im Tabellenblatt von aussen gesteuert werden
sExportdatei = ThisWorkbook.Path & Application.PathSeparator & "meineCSV.csv"
sTrennzeichen = ";"
Set rangeZellbereich = Worksheets("Tabelle2").UsedRange
sZeile = ""
Open sExportdatei For Output As #1
'Zeile für Zeile abarbeiten...
For Each varZeile In rangeZellbereich.Rows
'in der varZeile oZelle für oZelle...
For Each oZelle In varZeile.Cells
sZeile = sZeile & CStr(oZelle.Value) & sTrennzeichen
Next oZelle
' Letztes sTrennzeichen entfernen und varZeile in Datei schreiben
arrTemp = Split(sZeile, sTrennzeichen)
'Hier die Prüfung einbauen (Zeile iO oder niO)
if arrTemp(...)=(...) then
Print #1, Left(sZeile, Len(sZeile) - 1)
End If
sZeile = ""
Next varZeile
Close #1
MsgBox "Fertig. Bitte ausgiebig freuen!!", vbInformation
End Sub
Viele Grüße und einen schönen Tag,
Andreas_ausWuppertal
andy027@gmx.de
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige