Anzeige
Archiv - Navigation
1376to1380
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

Excel einzelnes Datenblatt (gefilterte Tabelle) in

Excel einzelnes Datenblatt (gefilterte Tabelle) in
25.08.2014 20:18:03
Jacques
Hallo an alle
Stehe vor folgender Herausforderung:
Habe ein Excel-File "ABC" mit mehreren Datenblättern, nun möchte ich das Datenblatt "Akquise" als CSV-Format an einen bestimmten Pfad exportieren & es soll den Excel-Filenamen bekommen.
Meine gefilterte Tabelle beginnt im Datenblatt mit der Überschrift ab dem Zellenbereich B16 bis Q16. (Zeile 1-15 darf nicht exportiert werden) je nach Filter können 1 bis 4000 Datensätze übertragen werden. Wenn möglich soll die Ergebniszeile der gefilterten Tabelle nicht übertragen werden.
Mit untenstehendem Modul kann ich exportieren, aber weis nicht wie die gefilterte Tabelle zu definieren ist.
Danke im Voraus für Eure VBA Hilfe.
Gruss Jacques
Sub CSVExport()
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String
strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")
strDateiname = "C:\JJ\TEST-Datenimport\IundExport\" & ActiveWorkbook.Name & ".csv"
If strDateiname = "" Then Exit Sub
strTrennzeichen = ","
If strTrennzeichen = "" Then Exit Sub
Set Bereich = ActiveSheet.UsedRange
Open strDateiname For Output As #1
For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
Close #1
Set Bereich = Nothing
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel einzelnes Datenblatt (gefilterte Tabelle) in
26.08.2014 15:25:25
Christian
Hallo Jacques,
prüfe zB., ob die Zeile versteckt ist:

For Each Zeile In Bereich.Rows
if Not Zeile.Hidden Then
For Each Zelle In Zeile.Cells
End If
gruß
Christian

AW: Excel einzelnes Datenblatt (gefilterte Tabelle) in
26.08.2014 21:09:13
Jacques
Hallo Christian
Danke für Deinen Ansatz, leider bin ich in VBA noch nicht so versiert. Habe versucht Deinen Code einzufügen, komme aber nicht weiter, kannst Du eventuell den Code ausschreiben.
Danke und Gruss Jacques

AW: Excel einzelnes Datenblatt (gefilterte Tabelle) in
26.08.2014 21:34:42
Christian
Hallo Jacques,
nach der Zeile: "For Each Zeile In Bereich.Rows" musst du die Zeile "If Not Zeile.Hidden Then"
einfügen und nach dem "Next" der inneren Schleife "For Each Zelle In Zeile.Cells ... Next" die Zeile "End If" einfügen.
Gruß
Christian

Anzeige
AW: Excel einzelnes Datenblatt (gefilterte Tabelle) in
26.08.2014 21:56:08
Jacques
Hallo Christian
Danke für den Imput, leider erhalte ich nun nur noch Zeile 1 bis 16 anstelle von 16 bis Ende der gefilterten Daten. Wenn ich aus "If Not Zeile.Hidden Then" "If Zeile.Hidden Then" mache erhalte ich die Datensätze ab Zeile 16 aber leider wider alles und nicht nur die gefilterten Daten. Was mach ich noch falsch.
Danke und Gruss im Voraus
Jacques
Sub CSVExport()
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String
strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")
strDateiname = "C:\JJ\TEST-Datenimport\IundExport\" & ActiveWorkbook.Name & ".csv"
If strDateiname = "" Then Exit Sub
strTrennzeichen = ","
If strTrennzeichen = "" Then Exit Sub
Set Bereich = ActiveSheet.UsedRange
Open strDateiname For Output As #1
For Each Zeile In Bereich.Rows
If Not Zeile.Hidden Then
For Each Zelle In Zeile.Cells
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Next
End If
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
Close #1
Set Bereich = Nothing
End Sub

Anzeige
AW: Excel einzelnes Datenblatt (gefilterte Tabelle) in
26.08.2014 22:23:09
Jacques
Hallo Christan
Habe meine Tabelle überprüft, das CSV funktioniert mit dem "If not Zeile.Hidden Then" aber die Datensätze werden in die Originalzeile geschrieben somit habe ich viele leere Zeilen dazwischen, wie kann ich die los werden.
Danke und Gruss
Jacques

AW: Excel einzelnes Datenblatt (gefilterte Tabelle) in
27.08.2014 08:10:44
Christian
Hallo Jacques,
so zB:
For Each Zeile In Bereich.Rows
If Not Zeile.Hidden Then
For Each Zelle In Zeile.Cells
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Next
If Right(strTemp, 1) = strTrennzeichen Then
strTemp = Left(strTemp, Len(strTemp) - 1)
End If
Print #1, strTemp
strTemp = ""
End If
Next

Gruß
Christian
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige