habe ein riesen problem und weis nicht mehr weiter.
ausgangslage: sheet mit sortierten werten (auch mehrmals vorkommend). ich möchte nun mit werten der aktuellen spalte jeweils ein neues sheet anlegen das den wert der zelle als name hat und die jeweiligen zeilen in dieses blatt kopiert.
ich habe nun mit hilfe von hans´ excel-cd eine prozedur erstellt, die mir das erledigen soll. leider funkt´s nicht ganz. 1. wenn ein wert öfters vorkommt, steigt die prozedur aus 2.produziere ich irgendwie eine endlosschleife, 3. die kopiererei bekomme ich überhaupt nicht hin.
für eure hilfe möchte ich mich jedenfalls schon jetzt recht herzlich bedanken.
(anhang: mein code)
Sub tabelle_anlegen()
Dim ws As Worksheet
Dim aws As Worksheet
Dim lzeile%
Dim zeile%
Dim lspalte%
Dim spalte%
Dim izeile%
spalte = ActiveCell.Column
lzeile = Cells(Rows.Count, spalte).End(xlUp).Row
zeile = ActiveCell.Row
lspalte = Cells(zeile, Columns.Count).End(xlToLeft).Column
Set ws = ActiveSheet
For izeile = lzeile To 1 Step -1
If ws.Cells(izeile, spalte).Value <> ws.Cells(izeile - 1, spalte).Value Then
On Error Resume Next
Set aws = Worksheets(ws.Cells(izeile, spalte).Value)
If Err > 0 Or aws Is Nothing Then
Err.Clear
Worksheets.Add after:=Worksheets(1)
ActiveSheet.Name = ws.Cells(izeile + 1, spalte).Value
End If
anfang = izeile - 1
Do Until ws.Cells(anfang, spalte).Value <> ws.Cells(anfang - 1, spalte)
anfang = anfang - 1
If anfang = 1 Then Exit Do
Loop
Else
izeile = izeile - 1
End If
Next izeile
End Sub