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

VBA: Tabelle verteilen

VBA: Tabelle verteilen
Hannoi
Wertes Forum,
ich möchte gerne eine Tabelle nach ihren Einzelkriterien in Spalte 20 auf verschiedene Arbeitsblätter verteilen. Dies klappt auch ganz gut. Aber leider nur so lange, wenn die Datensätze mit dem Kriterium einzeln auftreten. Tritt unmittelbar zweimal dasselbe Kriterium hintereinander auf werden keine neuen Arbeitsblätter erzeugt. Über eine Hilfe würde ich mich sehr freuen.
Viele Grüße
Hannoi
Sub verteilen()
Dim ws As Worksheet, str As String
Dim i, Text
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 23 Step -1
str = Cells(i, 20)
On Error Resume Next
Set ws = Sheets(str)
If ws Is Nothing Then
Text = Cells(i, 20)
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Text
Worksheets("Tabelle1").Activate
End If
Next
For Each ws In Sheets
For i = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row To 23 Step -1
If ws.Name = Cells(i, 20) Then
Worksheets("Tabelle1").Cells(i, 20).EntireRow.Copy ws.Cells(ws.Cells(Rows.Count, 1).End(xlUp) _
_
.Row + 1, 1)
End If
Next
Next
Application.ScreenUpdating = True
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: Tabelle verteilen
21.07.2011 12:09:50
Gerold
Hallo Hannoi
Es können auch keine zwei Tabellen mit dem gleichen Namen vorhanden sein.

If ws Is Nothing Then
Text = Cells(i, 20)
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Text
Worksheets("Tabelle1").Activate
Else
'Wenn Tabelle schon vorhanden dann
'Text umbenennen ?
'Dann neue Tabelle erstellen
End If
Mfg Gerold
Rückmeldung wäre nett.
AW: VBA: Tabelle verteilen
21.07.2011 13:56:22
Hannoi
Hallo Gerold,
vielen Dank für Deine Hilfe. Mir ist aber nicht klar, wie ich das ausdrücken soll und welchen Text ich wie umbenennen soll. Vielleicht könntest Du mir noch einmal helfen.
Viele Grüße
Hannoi
Anzeige
AW: VBA: Tabelle verteilen
21.07.2011 21:05:10
Gerold
Hallo Hannoi
Versuchs mal so

Sub Verteilen()
Dim ws As Worksheet, str As String, i as long
Application.ScreenUpdating = False
On Error Resume Next
For i = Cells(Rows.Count, 1).End(xlUp).Row To 23 Step -1
str = Cells(i, 20)
Set ws = Sheets(str)
If ws Is Nothing Then
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = str
Worksheets("Tabelle1").Activate
End If
Set ws = Nothing                    ' ws zurücksetzen
Next
On Error GoTo 0
For Each ws In ThisWorkbook.Worksheets
For i = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row To 23 Step -1
If ws.Name = Cells(i, 20) Then
Worksheets("Tabelle1").Cells(i, 20).EntireRow.Copy _
ws.Cells(ws.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End If
Next
Next
Application.ScreenUpdating = True
End Sub
Mfg Gerold
Rückmeldung wäre nett.
Anzeige
AW: VBA: Tabelle verteilen
22.07.2011 11:07:21
Hannoi
Hallo Gerold,
jetzt klappt es schon deutlich besser. Allerdings werden mir neben den Daten noch leere Arbeitsblätter eingefügt. Ich versuch einmal mein Glück, oder hast Du eine Idee?
Beste Grüße
Hannoi
AW: VBA: Tabelle verteilen
22.07.2011 11:54:33
Hannoi
Perfekt - hat alles geklappt. Es müssen natürlich die Sonderzeichen bereinigt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige