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

Datenexport CSV nur bis bestimmte Spalte

Datenexport CSV nur bis bestimmte Spalte
13.08.2020 12:19:10
Maris
Hallo,
ich habe ein Makro so anpassen können das ich einen Datenexport von einem Tabellenblatt machen kann. Allerdings möchte ich nicht das gesamte Tabellenblatt exportieren sondern nur bis Spalte F und dem letzten Datensatz von unten:
So sieht das Makro aus:

Public Sub CSV_Artikel_Click() 'Optionbutton
'On Error GoTo Fehler
'MsgBox Application.International(xlListSeparator)
Call Var_Bel
Call Pfad_prüfen
If CSVError Then Exit Sub ' Pfad fehlt
With TB2
LR = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
If LR > 1 Then
'*** Namen zusammenbauen
CSVName = "Import_Bestellung_" & Format(Now, "YYYYMMDD_hh_mm_ss") & Ext
'*** Blatt als eigene xlsx erstellen
.Copy
Set WB2 = ActiveWorkbook
'*** als csv abspeichern und beenden
Application.DisplayAlerts = False
WB2.SaveAs Filename:= _
Pfad & CSVName, FileFormat:=xlCSVUTF8, CreateBackup:=False, Local:=True
Application.Wait (Now + TimeValue("0:00:03")) 'Warten
WB2.Close , False
Else
MsgBox "Keine Daten für CSV vorhanden"
End If
End With
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
Application.DisplayAlerts = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub

TB2 ist mein Tabellenblatt.
Könntet mir jemand helfen?
Gruß
Maris

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenexport CSV nur bis bestimmte Spalte
13.08.2020 14:54:45
Maris
Also ich vermute das ich in dieser Codezeile das irgendwie anpassen muss:
LR = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
Allerdings bekomme ich das mit Range etc. nicht hin. Hat jemand einen Tipp?
AW: Datenexport CSV nur bis bestimmte Spalte
13.08.2020 15:08:02
peterk
Hallo
Füge folgende Zeiel in Dein Makro ein:

LR = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte 1
LZ = .Cells(1, Columns.Count).End(xlToLeft).Column 'letzte Spalte der Zeile 1
'*** Blatt als eigene xlsx erstellen
.Copy
Set WB2 = ActiveWorkbook
'Alle Spalten ab "G" werden gelöscht
If LZ > 6 Then  ' es gibt noch Spalten hinter "F"
Range(Cells(1, "G"), Cells(LR, LZ)).ClearContents
End If
'*** als csv abspeichern und beenden

Anzeige
AW: Datenexport CSV nur bis bestimmte Spalte
13.08.2020 15:34:58
Maris
Hallo Peter,
das funktioniert schon mal. Vielen lieben Dank! Gibt nur noch ein Problemchen. Vorneweg: Ich habe das Makro so aufgebaut:
Public Sub CSV_Artikel_Click() 'Optionbutton
'On Error GoTo Fehler
'MsgBox Application.International(xlListSeparator)
Call Var_Bel
Call Pfad_prüfen
If CSVError Then Exit Sub ' Pfad fehlt
With TB2
LR = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte 1
LZ = .Cells(1, Columns.Count).End(xlToLeft).Column 'letzte Spalte der Zeile 1
'*** Blatt als eigene xlsx erstellen
.Copy
Set WB2 = ActiveWorkbook
'Alle Spalten ab "G" werden gelöscht
If LZ > 6 Then  ' es gibt noch Spalten hinter "F"
Range(Cells(1, "G"), Cells(LR, LZ)).ClearContents
End If
If LR > 1 Then
'*** Namen zusammenbauen
CSVName = "Import_Bestellung_" & Format(Now, "YYYYMMDD_hh_mm_ss") & Ext
'*** als csv abspeichern und beenden
Application.DisplayAlerts = False
WB2.SaveAs Filename:= _
Pfad & CSVName, FileFormat:=xlCSVUTF8, CreateBackup:=False, Local:=True
Application.Wait (Now + TimeValue("0:00:03")) 'Warten
WB2.Close , False
Else
MsgBox "Keine Daten für CSV vorhanden"
End If
End With
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
Application.DisplayAlerts = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Als Ergebnis kommt folgendes Besipielhaft raus:
Nummer;Name;Menge;Preis;Nummer2;Nummer3;;;;;;
123456;Das ist Name 1;10;550;121211;1211555;;;;;;
123456;Das ist Name 2;20;650;221211;2211555;;;;;;
Eigentlich sollte kein Trennzeichen mehr nach Nummer3 kommen. Hier sind weitere 6 Trennzeichen ";"
Das ist genau der Bereich der Zeile 1 "G:L" in diesem standen Daten und die wollte ich ja in der Copy ausschließen bzw. nicht im CSV haben. JEtzt sind zwar keine Daten mehr drin aber die Spalten werden als leer übermittelt. Muss man die Spalte vielleicht löschen und nicht mit ClearContents nur die Inhalte?
Anzeige
AW: Datenexport CSV nur bis bestimmte Spalte
13.08.2020 16:24:56
peterk
Hallo
Range(Cells(1, "G"), Cells(LR, LZ)).EntireColumn.Delete
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige