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

neues Tabellenblatt mit vorausgewähltem Namen

neues Tabellenblatt mit vorausgewähltem Namen
14.12.2016 05:44:49
Julia

Hallo alle zusammen
Ich habe mehrere Tabellenblätter.
Diese möchte ich mit dem Namen benennen, der sich aus dem Text der Zelle A2 & Zelle B2 des jeweiligen Blattes ergibt.
Wenn es aber mal vorkommt, dass der Text aus "A2&B2" mit dem Text "A2&B2" eines anderen Blattes übereinstimmt, dann wäre es toll, wenn Excel z.B. Nummern hinten dran setzt, damit er kein Problem bekommt (weil er ja sonst nicht weiß was er tun soll)
Und 2 Blätter sollen unter diese Regel übrigens nicht fallen und IMMER den Namen gleich behalten (Blatt "SR" und Blatt "SL").
Könnt ihr mir da bitte, bitte weiterhelfen?
Danke an alle Helfer schon im Voraus!
Gruß
Julia

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

Betreff
Datum
Anwender
Anzeige
AW:Ansatzweise so
14.12.2016 08:28:33
hary
Moin
Probier mal als Ansatz. Den Zusatz bei vorhandenem Blattnamen vergibst du per Inputbox.
Ungetestet!!
Dim wks As Worksheet
Dim neuerName As String, Zusatz As String
For Each wks In Worksheets
If wks.Name <> "SR" And wks.Name <> "SL" Then
neuerName = wks.Cells(2, 1) & wks.Cells(2, 2)
If IsError(Evaluate(neuerName & "!A1")) Then
wks.Name = neuerName
Else
nochmal:
Zusatz = Application.InputBox("Bitte Zusatz eingeben", "Blattzusatz")
If Zusatz <> "" Then
neuerName = neuerName & Zusatz
If IsError(Evaluate(neuerName & "!A1")) Then
wks.Name = neuerName
Else
GoTo nochmal
End If
End If
End If
End If
Next

gruss hary
Anzeige
AW: AW:Ansatzweise so
14.12.2016 09:41:23
guenni
Hallo Julia,
hier ein Beispiel mit automatischer Nummernvergabe:

Public Sub BlattNamen()
Dim TabellenBlatt As Worksheet
Dim TempBlatt As Object
Dim Anhaengsel As Integer
Dim namegibtsschon As Boolean
Dim AnhaengselText As String
Dim NameNeu As String
On Error GoTo NummerAnfuegen
For Each TabellenBlatt In Worksheets
Anhaengsel = 1
If (TabellenBlatt.Name = "SR") Or (TabellenBlatt.Name = "SL") Then
Else
Do
If Anhaengsel = 1 Then
AnhaengselText = ""
Else
AnhaengselText = "" & Anhaengsel
End If
namegibtsschon = False
NameNeu = TabellenBlatt.Range("A2") & TabellenBlatt.Range("B2") & AnhaengselText
If TabellenBlatt.Name = NameNeu Then Exit Do
For Each TempBlatt In Sheets
If TempBlatt.Name = NameNeu Then
namegibtsschon = True
Anhaengsel = Anhaengsel + 1
End If
Next
Loop While namegibtsschon
TabellenBlatt.Name = NameNeu
End If
Next
On Error GoTo 0
GoTo ENDE
NummerAnfuegen:
Debug.Print "Fehler mit Blattnamen Tabellenblatt >" & TabellenBlatt.Name & "< Versuch: >" &  _
TabellenBlatt.Range("A2") & TabellenBlatt.Range("B2") & "< "
On Error GoTo 0
ENDE:
End Sub
Viel Spass,
Günther
Anzeige
AW: AW:Ansatzweise so
14.12.2016 11:43:42
Julia
Ich danke euch beiden sehr!
Habe jedoch jetzt nur das von Gunther ausprobiert und das lieferte mir auf Anhieb, was ich brauchte.
Super!!!
Aber vielen Dank an Beide für eure tatkräftige Unterstützung
Gruss
Julia

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige