Supportnet / Forum / Tabellenkalkulation
VBA-Excel: neue Datei mittels gruppen erstellen
Frage
hallo, ich bin ein anfänger und habe folgendes problem
ich möchte nach jeder gruppe eine neue datei (excel) erstellen.
das programm funktioniert soweit, aber hört nach der ersten gruppe auf. was mache ich falsch.
besten dank für eure hilfe
MAKRO:
Sub Gruppe_speichern()
'Werte nach Gruppen aufteilen und in gesonderten Dateien sichern
'Die Werte aus den Spalten A:P sollen je Gruppe in gesonderten Arbeitsmappen
'in dem in Zelle G1 genannten Verzeichnis gespeichert werden.
'
'
' Inizialisierung
Dim rng As Range
Dim col As New Collection
Dim iRow As Integer
Dim bruch As Integer
Dim sFile As String
Application.ScreenUpdating = False
'Startpunkt festlegen
iRow = 3
'Sicherungspfad holen
sFile = Range("G1").Value
On Error Resume Next
'Lesen der einzelnen Gruppen
Do Until IsEmpty(Cells(iRow, 1))
col.Add Cells(iRow, 1).Value, Cells(iRow, 1).Value
iRow = iRow + 1
Loop
On Error GoTo 0
Application.DisplayAlerts = False
For iRow = 1 To col.Count
'Selection mittels autofilter der einzelnen Gruppen
Range("A1").CurrentRegion.AutoFilter field:=1, Criteria1:=col(iRow)
Set rng = Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
'Speicher der ausgewählten Zeilen
Workbooks.Add
rng.Copy Range("A1")
'speichern der Daten in eine Exceldatei
ActiveWorkbook.SaveAs sFile & " " & "Test" & col(iRow) & ".xls"
ActiveWorkbook.Close savechanges:=True
'nächste Gruppe
Next iRow
Application.DisplayAlerts = True
Application.ScreenUpdating = True
ActiveSheet.AutoFilterMode = False
MsgBox "Die Datei wurde aufgeteilt und gesichert"
'
End Sub
Antwort 1 von Guenter
Hallo,
bei mir läuft das schon.
Es werden bei mir für jede Zeile eine neue Datei angelegt.
Kannst Du vielleicht mal näher beschreiben, wo das Makro nicht läuft und was passieren soll.
Gruß
Günter
bei mir läuft das schon.
Es werden bei mir für jede Zeile eine neue Datei angelegt.
Kannst Du vielleicht mal näher beschreiben, wo das Makro nicht läuft und was passieren soll.
Gruß
Günter
Antwort 2 von Gion
Hallo Günter
Besten Dank, ich habe fast nicht mehr an eine Hilfe gedacht.
Also:
Ich habe in der Excel-Datei in der ersten Spalte die Gruppen (diese können Zahlen aber auch Alfa sein) 100, 200, e150, usw. Es wird immer nur die erste Gruppe ausgelesen und gespeichert, obwohl sämtliche Gruppen durchgearbeitet werden (habe dies mit F8) angesehen.
Bei einer Datei in der nur Alfa-werte in der Gruppe stehen funktioniert die erstellung der Dateien ohne Probleme.
Besten Dank für deine Unterstützung.
Gruss
gion
Besten Dank, ich habe fast nicht mehr an eine Hilfe gedacht.
Also:
Ich habe in der Excel-Datei in der ersten Spalte die Gruppen (diese können Zahlen aber auch Alfa sein) 100, 200, e150, usw. Es wird immer nur die erste Gruppe ausgelesen und gespeichert, obwohl sämtliche Gruppen durchgearbeitet werden (habe dies mit F8) angesehen.
Bei einer Datei in der nur Alfa-werte in der Gruppe stehen funktioniert die erstellung der Dateien ohne Probleme.
Besten Dank für deine Unterstützung.
Gruss
gion
Antwort 3 von Guenter
Hallo gion,
ändere mal folgende Zeile:
in
Die Schlüssel einer Collection sind Zeichenketten. Vielleicht hilft Dir das schon weiter.
Gruß
Günter
ändere mal folgende Zeile:
col.Add Cells(iRow, 1).Value, Cells(iRow, 1).Value
in
col.Add Cells(iRow, 1).Value, Cells(iRow, 1).Text
Die Schlüssel einer Collection sind Zeichenketten. Vielleicht hilft Dir das schon weiter.
Gruß
Günter
Antwort 4 von gion
Hallo Günter
Ich habe den Schlüssel
auf
col.Add Cells(iRow, 1).Value, Cells(iRow, 1).Text
umgesetzt. Es funtioniert.
Besten Dank für Deine Mithilfe
Gion
Ich habe den Schlüssel
auf
col.Add Cells(iRow, 1).Value, Cells(iRow, 1).Text
umgesetzt. Es funtioniert.
Besten Dank für Deine Mithilfe
Gion