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

VBA Code erscheint nicht in Makros

VBA Code erscheint nicht in Makros
03.11.2023 09:03:40
eglmar
Hallo zusammen
Ich habe auf Eurer Seite diesen VBA Code gefunden um den Blattnamen zu ändern. Ich habe diesen Code in VisualBasic eingefügt. Jedoch erscheint mir dieser Code nicht als Makro, was muss ich ändern. Ich habe wirklich keine Ahnung von VBA, herzlichen Dank für Eure Antwort.


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsN$, i%
If Sh.Index > 6 Then GoTo Hell
'Änderungen in B7 beeinflussen nur Blattnamen 1 - 6
With Sh
If Not Intersect(Target, Sh.Range("B7")) Is Nothing Then
If Target.Text = "" Then Sh.Name = Sh.Name: GoTo Hell
'Leere Eingabe in B7 beendet ohne Änderung
With Target
'Blattname max 31 Zeichen
For i = 1 To 31
Select Case Mid(.Text, i, 1)
Case "\", "/", "*", "[", "]", ":", "?"
'unerlaubte Zeichen in Blattnamen "entfernen"
Case Else
wsN = wsN & Mid(.Text, i, 1)
End Select
Next i
End With
Sh.Name = wsN
End If
End With
Hell:
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code erscheint nicht in Makros
03.11.2023 09:09:42
Beverly
Hi,

der Code ist eine Ereignisprozedur, die nur dann reagiert, wenn in Zelle B7 des betreffenden Tabellenblattes etwas eingetragen wird (und gehört deshalb ins Codemodul des Tabellenblattes und nicht in ein Standardmodul). Somit wird er auch nicht unter "Makros" angezeigt.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
AW: VBA Code erscheint nicht in Makros
03.11.2023 09:57:53
volti
Hallo Eglmar,

Deine Sub ist Private markiert.

Als Private markierte Subs und Functions werden bei Makros nicht angezeigt.

Gruß Karl-Heinz
Anzeige
AW: VBA Code erscheint nicht in Makros
03.11.2023 10:16:46
eglmar
Auch wenn ich das Private wegmache, erscheint es nicht als makro.
AW: VBA Code erscheint nicht in Makros
03.11.2023 10:26:29
Beverly
Richtig - weil es eben eine Ereignisprozedur (oder Function) mit Parameterübergabe ist - und diese werden unter Makros nie angezeigt.

Hast du den Code unter DieseArbeitsmappe eingetragen, wie ich in meinem vorhergehenden Beitrag geschrieben habe?

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
AW: VBA Code erscheint nicht in Makros
03.11.2023 09:27:49
eglmar
Besten Dank für die Antwort, hier der ganze Beitrag... ich habe es schon so verstanden, dass der Code für das ganze Arbeitsblatt gilt, jedoch funktioniert dieser nicht.

Hallo Wolfango,
...zu Herberts Code in jedem Deiner 6 Tabellenblätter kannst Du folgenden Code im Modul der Arbeitsmappe nutzen (muss dann nicht mehr in den jew. Tabellenblatt-Modulen stehen):

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsN$, i%
If Sh.Index > 6 Then GoTo Hell
'Änderungen in B7 beeinflussen nur Blattnamen 1 - 6
With Sh
If Not Intersect(Target, Sh.Range("B7")) Is Nothing Then
If Target.Text = "" Then Sh.Name = Sh.Name: GoTo Hell
'Leere Eingabe in B7 beendet ohne Änderung
With Target
'Blattname max 31 Zeichen
For i = 1 To 31
Select Case Mid(.Text, i, 1)
Case "\", "/", "*", "[", "]", ":", "?"
'unerlaubte Zeichen in Blattnamen "entfernen"
Case Else
wsN = wsN & Mid(.Text, i, 1)
End Select
Next i
End With
Sh.Name = wsN
End If
End With
Hell:
End Sub
Mein Code berücksichtigt auch Deine Anforderung (so wie ich sie verstanden habe), dass bei Änderung in B7 des jeweiligen Blattes der Blattname sofort angepasst wird, und dies nur in den Blättern 1 - 6 (falls es uU weitere Blätter in der Mappe gibt). Darüber hinaus werden leere Eingaben in B7 ignoriert, sowie unerlaubte Zeichen im Blattnamen entfernt und Blattnamen auf die erlaubten 31 Zeichen begrenzt.
LG Michael
Anzeige
AW: VBA Code erscheint nicht in Makros
03.11.2023 10:28:13
eglmar
Herzlichen Dank, ich habe es am falschen Ort eingefügt... Nun geht es!!! Super eurer Blog. Danke, danke, danke.
AW: VBA Code erscheint nicht in Makros
03.11.2023 09:44:03
Beverly
Der Code gilt für jedes Tabellenblatt - dann musst du ihn ins Codemodul DieseArbeitsmappe schreiben.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige