Registriert seit: 30.12.2014
Version(en): 2010
16.03.2015, 14:39
(Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2015, 14:41 von Nukleus.)
Hallo Forum,
der Tabellenblattname wird automatisch vergeben mit.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
ActiveSheet.Name = Range("D4").Value
End Sub
jetzt mein Problem!
Wenn in Zelle D4 der gleiche Wert steh wie in einem anderen Tabellenblatt, wird der Name des Tabellenblatts nicht automatisch geändert.
Kann mann die Tabellenblätter auf ihre Namen überprüfen und wenn der Name schon vorhanden ist einen Zähler hinzufügen?
Gruß Klaus
es Grüßt der niederRhein! :17:
Office 2010
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
16.03.2015, 14:57
(Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2015, 15:13 von Der Steuerfuzzi.)
Hallo,
füge diese Funktion ein:
Code:
Function SheetExist(SheetName As String) as Boolean
Dim objSheet As Object
SheetExist = False
For Each objSheet In ActiveWorkbook.Sheets
If objSheet.Name = SheetName Then
SheetExist = True
Exit Function
End If
Next
End Function
Dann kannst Du z. B. so abfragen, ob das Sheet existiert:
Code:
If not SheetExist(Range("D4").value) then
Gruß
Michael
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Steuerfuzzi,
Du mußt nicht unbedingt alle Worksheets der Datei durchlaufen siehe
hierCode:
Function SheetExists(shname As String) As Boolean
Dim sh As Worksheet
' von Bernd (bst)
On Error Resume Next
Set sh = Sheets(shname)
SheetExists = Not sh Is Nothing
On Error GoTo 0
End Function
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
16.03.2015, 21:09
(Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2015, 21:18 von schauan.)
Hallöchen,
wenn man mit Fehlerbehandlungen arbeiten will, könnte man dort auch die Zähler setzen:
PHP-Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Variablendeklarationen
'Integer, String
Dim iCnt As Integer, strIndex As String
'Gehe bei Fehler zur Sprungmarke Errorhandler
On Error GoTo Errorhandler
'Blattname mit Index zum umbenennen
ActiveSheet.Name = Range("D4").Value & strIndex
'Makro verlassen
Exit Sub
'fehlerbehandlung
Errorhandler:
'Index hochsetzen
iCnt = iCnt + 1
strIndex = "(" & iCnt & ")"
Resume
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 30.12.2014
Version(en): 2010
Hallo euch drein,
vielen Dank, klappt prima: :28:
Gruß Klaus
Gruß Klaus
es Grüßt der niederRhein! :17:
Office 2010