Re: Neue Tabellenblätter erstellen



Hallo Wolfgang,
>
> Es sollen die Zeile aus Tabelle1 pro MA mitübernommen werden.
>
> Der Mitarbeiter steht in Tabelle"AV" Spalte B und die Werte stehen in Spalte
> C bis BW
>
> z.B.
> steht in Spalte B Wolfgang soll ein Blatt mit dem Namen Wolfgang angelegt
> werden und alle Zeilen in denen mein Name steht sollen auch ins Blatt Wolfgang
> kopiert werden.
>

versuchs mal so,
wenn das Gesamtblatt AV heißt

'--------------------------------
Private Sub Blatt_erzeugen()
Dim neuerName As String
Dim Lz As Long, i As Long
Dim Lza As Long

With Worksheets("AV")
Lz = .Cells(Rows.Count, "B").End(xlUp).Row
For i = 43 To Lz
neuerName = .Range("B" & i).Value

If SheetExists(neuerName) = False Then
.Select
.Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = neuerName
ActiveSheet.Cells = ""
End If
Lza = Worksheets(neuerName).Cells(Rows.Count, "B"). _
End(xlUp).Row + 1
Worksheets("AV").Range("A" & i & ":iv" & i).Copy _
Destination:=Worksheets(neuerName).Range("A" & Lza)
Next i
End With
End Sub

Public Function SheetExists _
(strName As String) As Boolean
On Error Resume Next
SheetExists = Not Sheets(strName) _
Is Nothing
End Function
'--------------------------


abgesehen davon das man dies normalerweise
ganz anders lösen würde, wenn du schon von Anfang an
den ganzen Ablauf geschildert hättest
diese Variante ist ein Würgarround durch
schrittweise Bekanntgabe der Aufgabenstellung

ohne jegliche Plausibilitätsprüfung,
wenn du das Makro 5 x aufrufst dann hast du die
Werte 5 x drinnstehen

wenn du dies verhindern willst dann kannst du
z. B. statt Copy Cut schreiben
dadurch wird die Zeile aus der Gesamttabelle entfernt


mfg Herbert


.



Relevant Pages