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

Letzte Zelle im Bereich - Blattnamen Schleife

Letzte Zelle im Bereich - Blattnamen Schleife
07.11.2017 16:43:18
Hase
Hallo zusammen,
ich sitze mal wieder vor einem mir unlösbaren Problem.
Folgendes:
Ich möchte für jeden Mitarbeiter Namen stehen im Bereich C13 bis C22) ein neues Tabellenblatt anlegen. Dabei soll er meine Vorlage "wks2" kopieren und das Blatt mit der dazugehörigen Personalnummer (B13 bis B22) umbenennen.
Jetzt kann es sein, dass in manchen Monaten nur im Bereich C13 bis C15 Werte vorhanden sind. Daher wollte ich über eine Schleife gehen in der erst geprüft wird, ob in C13 und folgende leer sind. Hab es auch schon über End(xlUp).Row probiert, aber Blöderweise sind weiter unten noch weitere Daten. Ich suche also irgendetwas, mit dem nur im Bereich C13 bis C22 gesucht wird. Habt ihr eine Lösung?
Soweit mal mein Ansatz, der jedoch nicht funktioniert. Excel macht zwar das Blatt, benennt es _ aber nicht um und stürzt dann weg.

Dim i As Integer
Dim wks1 As Worksheet
Set wks1 = ActiveWorkbook.Worksheets("Titel")
Dim wks2 As Worksheet
Set wks2 = ActiveWorkbook.Worksheets("blanco")
With wks1.Range ?

For i = 1 To 10
If wks1.Cells(i, 1)  "" Then
wks2.Select
wks2.Copy after:=wks2                       'Blatt "blanco" kopieren einfügen
ActiveSheet.Name = wks1.Cells(i, 2).Text    'Blattnamen vergeben
i = i + 1
End If
Next i
End With

Vielen lieben Dank für eure Hilfe!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zelle im Bereich - Blattnamen Schleife
07.11.2017 16:47:58
Michael
Hallo!
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsQ As Worksheet: Set WsQ = Wb.Worksheets("Titel")
Dim WsT As Worksheet: Set WsT = Wb.Worksheets("blanco")
Dim r As Range, c As Range
Application.ScreenUpdating = False
With WsQ
Set r = .Range("C13:C22")
For Each c In r
If c.Text  "" Then
WsT.Copy after:=Wb.Worksheets(Wb.Worksheets.Count)
ActiveSheet.Name = c.Offset(, -1).Text
End If
Next
.Activate
End With
End Sub
LG
Michael
AW: Letzte Zelle im Bereich - Blattnamen Schleife
08.11.2017 08:39:45
Hase
Hallo Michael,
ein Traum! Funktioniert wie am Schnürchen, habe aber das Offste auf 1 gesetzt damit er nach rechts springt. Vielen lieben Dank!
Für alle die die Lösung interessiert:
Entsprechend meiner Benennung wäre der Code wie folgt:

(...)
Dim wkb As Workbook
Set wkb = ThisWorkbook
(...)
With wks1
Set r = .Range("C13:C22")
For Each c In r
If c.Text  "" Then
wks2.Copy after:=wkb.Worksheets(wkb.Worksheets.Count)
ActiveSheet.Name = c.Offset(, 1).Text
End If
Next
wks2.Activate
End With

Anzeige
Freut mich, Danke für die Rückmeldung, owT
08.11.2017 10:36:00
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige