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

Datensätze verteilen ?

Datensätze verteilen ?
25.07.2002 12:15:42
Steve
Hallo zusammen,

ich möchte folgendes erreichen:
Ich habe eine Tabelle mit ca. 2000 Datensätzen. In Spalte B stehen Gruppenzugehörigkeiten, also zB. bei den ersten 20 Datensätzen der Wert 100. Bei den nächsten 5 Datensätzen der Wert 200 usw.
Nun möchte ich diese Daten auslesen und erreichen, daß jede Gruppe auf einer eigenen Tabelle (oder in einer eigenen Datei )abgespeichert wird.

Vielen Dank für die Hilfe
Steve

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

Betreff
Datum
Anwender
Anzeige
Re: Datensätze verteilen ?
25.07.2002 13:01:16
Günter
Hallo Steve

versuchs mal damit

Dim Tabelle(10) as variant
i = 1
y = 1
Do
j = i
y = y + 1
Do
x = cells(i,2)
x1 = cells(i+1,2)
loop until x <> x1
Range("A" & j & ":D" & i).Select
Selection.Copy
Sheets(Tabelle(y)).Select
Range("A1").Select
ActiveSheet.Paste
Loop until x1 = ""

MFG Gü

Re: Datensätze verteilen ?
25.07.2002 13:18:40
Gerd
Hallo Steve,

folgendes Makro benutze ich für eine fast identische Aufgabe bei mir regelmäßig. An Dein Problem etwas angepaßt.
Das Makro betrachtet die erste Zeile der Tabelle als Spaltenüberschriften. Für die Gruppen in Spalte B werden Tabellenblätter erstellt und der Wert jeweils als Bezeichnung eingestellt. Die Daten werden entsprechend der Gruppe in die Tabellen kopiert.


Sub DatenVerteilen()
AktBlatt = ActiveSheet.Name
LastRow = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
For x = 2 To LastRow
Gruppe = Trim$(Cells(x, 2).Text)
If Gruppe <> "" Then
On Error Resume Next
Sheets(AktBlatt).Rows(x).Copy
Sheets(Gruppe).Rows(Sheets(Gruppe).Cells.SpecialCells(xlLastCell).Row + 1).Insert (xlShiftDown)
If Err = 9 Then
Sheets.Add
ActiveSheet.Name = Gruppe
Sheets(AktBlatt).Rows(1).Copy
Sheets(Gruppe).Rows(1).Insert (xlShiftDown)
Sheets(AktBlatt).Rows(x).Copy
Sheets(Gruppe).Rows(Sheets(Gruppe).Cells.SpecialCells(xlLastCell).Row + 1).Insert (xlShiftDown)
Sheets(AktBlatt).Select
End If
On Error GoTo 0
End If
Next
End Sub

Gruß
Gerd

Anzeige
Vielen Dank.. ich bastle mal..
25.07.2002 14:00:31
Steve
Dank euch beiden..

Ich probier das derweil mal aus und melde mich gegebenenfalls nochmal.

Steve

super makro... dank euch
25.07.2002 21:21:13
Steve
es hat geklappt und macht genau das, was ich will.

Grüße
Steve

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige