Clever-Excel-Forum

Normale Version: Mit Makro Registerkarten anlegen & benennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin liebe Excel-User,

hoffe ich kann hier Hilfe bei einem Problem finden. Sollte sich, glaub ich auch recht schnell lösen lassen ;): Ich versuche ein Makro zu bauen, welches mir in einer Excel Datei "Reiter" anlegt und diese auch gleich umbenennt. Problematisch wird es dabei an 2 Stellen.

  1. Die Benennung der Reiter erfolgt nach einer Namensliste, in der manche Namen mehrfach direkt nacheinander auftauchen. Z.B.
  • Peter
  • Marion
  • Marion
  • Marion
  • Klaus
  • ....
  1. Bei der 2. Marion stoppt mein Makro, da es natürlich keinen weiteren Reiter mit gleichem Namen anlegen kann. Wie kann ich dem Makro sagen, dass diese übersprungen werden sollen? Und nein ich will die Liste nicht vorher filtern müssen, da ich mit der gleichen Liste noch weiter arbeiten muss ;)
    2. Irgendwann ist die Spalte mit den Name zu Ende. Wie gebe ich den Bereich so an, dass das Makro stoppt und keinen Reiter ohne Namen anlegt?

Viele grüße & frohe Weihnachten
Hallo,

über wie viele Namen reden wir da?
Hallo,

Beispielsweise so:
Code:
Public Sub Blatt_anlegen()
Dim loLetzte As Long, raBereich As Range, raZelle As Range

Application.ScreenUpdating = False

With Worksheets("Tabelle1")
   loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
   Set raBereich = .Range(.Cells(1, 1), .Cells(loLetzte, 1))
   For Each raZelle In raBereich
       On Error Resume Next
       Worksheets(raZelle.Value).Calculate
       If Err.Number = 9 Then
           Worksheets.Add , after:=Worksheets(Sheets.Count)
           ActiveSheet.Name = raZelle.Value
           On Error GoTo 0
       End If
   Next
   .Activate
End With

Set raBereich = Nothing
Application.ScreenUpdating = True
End Sub



Ich bin beim Code davon ausgegangen, dass deine Namensliste sich im Tabellenblatt "Tabelle1" befindet und dort in Spalte A von A1 bis A?
Das mußt du ggf. anpassen.
Sehr sehr geil & vielen vielen Dank! Funktioniert genauso wie es soll  :19: