Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten sortieren + automatisch Dateien erstellen

Daten sortieren + automatisch Dateien erstellen
Frankie
Hallo,
ich habe folgendes Problem: Ich habe eine Excel-Tabelle. In der ersten Spalte steht eine Nummer. Nach dieser Nummer möchte ich sortieren und dann soll für jede Nummer eine eigene Datei angelegt werden.
Also so:
1 Peter Müller 34556
---
2 Frank Meier 55243
2 Frank Meier 45786
2 Frank Meier 66111
---
3 Thilo Hunger 22111
3 Thilo Hunger 23786
und dann soll es bspw. eine Datei mit dem Namen "2" geben, in der nur die Datensätze 2,3 und 4 enthalten sind.
Wie realisiere ich so etwas am Besten?
THX
Frankie

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Zeilen in neuen Dateien speichern
Christoph
Hi Frankie,
ich geh mal davon aus, dass in der ersten Zeile eine Überschrift steht. Diese wird in die neuen Dateien ebenfalls kopiert. Außerdem werden die neuen Dateien im gleichen Verzeichnis wie die "Master-Datei" gespeichert. Die Daten stehen in der Master-Datei in einer Tabelle mit dem Namen "Tabelle1".
Wenn es im entsprechenden Verzeichnis schon Dateien mit dem zu erzeugenden Datei-Namen gibt, werden diese ungefragt überschrieben.
Dann funktioniert das z.B. so:
Gruß
Christoph
('ne Rückmeldung wäre nett)
Option Explicit

Sub VerteilDat()
Dim LRow As Integer, i As Integer, j As Integer, ZAnf As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ZAnf = 2
With ThisWorkbook.Sheets("Tabelle1")
.Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To LRow
For j = i To LRow
If .Cells(j + 1, 1) <> .Cells(i, 1) Then
Workbooks.Add
.Rows(1).Copy Cells(1, 1)
.Rows(ZAnf & ":" & j).Copy Cells(2, 1)
ActiveWorkbook.SaveAs (Cells(2, 1).Value)
ActiveWorkbook.Close
i = j
ZAnf = j + 1
Exit For
End If
Next j
Next i
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zeilen in neuen Dateien speichern
Frankie
Hi Christoph,
natürlich gibt´s ´ne Rückmeldung:
Hab besten Dank. Es scheint alles zu funzen. Super.
Eine Frage nur noch:
In der ersten Spalte stehen manchmal Nullen am Anfang, die nun weggelassen werden beim Dateinamen. Kann man die auch irgendwie erhalten?
THX
Frankie
AW: Zeilen in neuen Dateien speichern
08.04.2004 16:55:46
Christoph
Hi Frankie,
das passiert, wenn in SpalteA Zahlen im Format "00" stehen.
Das lässt sich abfangen, wenn du statt:
ActiveWorkbook.SaveAs (Cells(2, 1).Value)
jetzt:
ActiveWorkbook.SaveAs (Format(Cells(2, 1), "00"))
einträgst.
Gruß
Christoph
('ne Rückmeldung wäre nett)
Anzeige

238 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige