Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1600to1604
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

Tabellenblattname automatisch aus Zelleninhalt

Tabellenblattname automatisch aus Zelleninhalt
05.01.2018 12:38:32
Alex
Hallo Excel-Gemeinde,
ich habe ein VBA-Code in einem Tabellenblatt, dass mir den Namen des Tabellenblattes entsprechend einem Zelleninhalt ändert. Das ganze funktioniert auch. Es beruht aber auf dem manuellen Eintragen der Daten in die Zelle. Durch dieses Ereignis wurde dann der Name des Tebellenblattes beim Verlassen der Zelle geändert.
Mittlerweile habe ich aber eine Formel zur Berechnung des Zelleninhaltes. Funktioniert auch super.
Mein Problem ist, dass ich nicht weiß, wie ich jetzt die Neuberechnung des Tebellenblattnamens wieder anstoße.
Hier der bisherige Code am Tabellenblatt:

Private Sub Worksheet_Change(ByVal Target As Range)
'Für eine Tabelle
If Not Intersect(Target, Range("B2")) Is Nothing Then
Me.Name = Range("K1").Value
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattname automatisch aus Zelleninhalt
05.01.2018 14:38:15
Sepp
Hallo Alex,
probier mal.
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Calculate()
Static oldName As String

If Range("K1") <> oldName Then
  If IsValidSheetName(Range("K1")) Then Me.Name = Range("K1"): oldName = Me.Name
End If
End Sub

Private Function IsValidSheetName(ByVal strName As String) As Boolean
Dim objRegExp As Object

Set objRegExp = CreateObject("vbscript.regexp")

With objRegExp
  .Global = True
  .Pattern = "^[^\/\\:\*\?\[\]]{1,31}$"
  .IgnoreCase = True
  IsValidSheetName = .test(strName)
End With

Set objRegExp = Nothing

End Function

Gruß Sepp

Anzeige
AW: Tabellenblattname automatisch aus Zelleninhalt
05.01.2018 14:40:02
fcs
Hallo Alex,
Private Sub Worksheet_Calculate()
On Error Resume Next
With Me.Range("K1") 'Zelle mit Blattname
If Me.Name  .Text Then Me.Name = .Text
End With
End Sub
Gruß
Franz
AW: Tabellenblattname automatisch aus Zelleninhalt
08.01.2018 11:14:35
Alex
Hallo Leute, bin heute erst zu testen gekommen. Danke Franz, genau dieses Ereignis "Worksheet_Calculate" hat mir gefehlt.
Super.! Danke euch beiden..

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige