Hallo! Ich würde gerne helfen, was aber derzeit irgendwie nicht genau, was der Code genau machen soll und welche Rolle A, B, C spielen. Ich dachte in Spalte 23 kommt nur entweder A, B, C vor und danach entscheidet sich was der Code machen soll.
Also egal ob A, B, C steht, werden 12 Blätter eingefügt und jeweils auch Spalte A bis D. Bei A oder B kommen dann noch die jeweilig die Spalte vom Idex i dazu und bei C kommt nur bei Blatt 19 bis 22 diese Spalte. Richtig?
Oder soll wenn A oder B drin steht 12 Blätter mit A:D und der Spalte nach I und wenn auch noch ein C vorkommt, nochmal 4 Blätter aber nur noch die Spalten 19 bis 22 reinkopiert werden? Also für die letzte Version ist der Code unten. Ansonsten bitte nochmal darstellen. Gruß
Sub Verteile()
Dim i As Long
Dim anfang As Long
Dim ende As Long
Dim suche
Dim suche2
Dim suche3
Dim gefunden As Boolean
Application.ScreenUpdating = False
Set suche = Worksheets("Tabelle1").Columns(23).Find("A", lookat:=xlWhole, LookIn:=xlValues)
Set suche2 = Worksheets("Tabelle1").Columns(23).Find("B", lookat:=xlWhole, LookIn:=xlValues)
Set suche3 = Worksheets("Tabelle1").Columns(23).Find("C", lookat:=xlWhole, LookIn:=xlValues)
If suche = "A" Or suche2 = "B" Then
With Tabelle1
For i = 10 To 22
Worksheets.Add After:=Sheets(Sheets.Count)
'.UsedRange.Range("A:D").Copy ActiveSheet.Cells(1)
.UsedRange.Columns(i).Copy ActiveSheet.Cells(1, 5)
ActiveSheet.Name = Cells(1, 5)
Next
End With
End If
If suche3 = "C" Then
With Tabelle1
For i = 1 To 4
Worksheets.Add After:=Sheets(Sheets.Count)
.UsedRange.Range("A:D").Copy ActiveSheet.Cells(1)
.UsedRange.Columns(i + 18).Copy ActiveSheet.Cells(1, 5)
ActiveSheet.Name = Cells(1, 5) & "C"
Next
End With
End If
End Sub
|