Register

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Register
von: Ralfi
Geschrieben am: 15.07.2015 13:12:22

Hallo Leute,
kann man mehrere Tabellenblätter mit einem Button umbenennen und zwar aus der Zelle F4 des jeweiligen tabellenblattes.
Danke für eure Anregungen

Bild

Betrifft: AW: Register
von: Daniel
Geschrieben am: 15.07.2015 13:27:51
Hi
jo kann man.
beispielsweise so für mehrere Blätter, umbenannt werden alle Blätter in denen in F4 ein Wert steht:

Sub Umbenennen
dim wks as Worksheet
for each wks in Thisworkbook.Worksheet
   wks.range("F4").Text <> "" then wks.Name = wks.range("F4").Text
Next 
end Sub
das ist mal ne ganz einfache Variante ohne Prüfung auf Fehler (Blattname doppelt, Blattname länger als 31 Zeichen, Blattname enthält verbotene Zeichen)
für einzelne Blätter kannst du auch folgendes verwenden:
Tabelle1.Name = Tabelle1.Range("F4").Text

hier verwendest du den Codenamen des Blattes um das Blatt anzusprechen.
Der Codename ist der Name, der im Projektexplorerbaum vor der Klammer steht.
Der Codename kann vom Anwender nicht verändert werden.
wie du ein Makro einem Button zuweist, kannst du hier nachlesen:
http://www.online-excel.de/excel/singsel_vba.php?f=132
Gruß Daniel

Bild

Betrifft: AW: Register
von: Ralfi
Geschrieben am: 15.07.2015 13:53:09
wks.range("F4").Text <> "" then wks.Name = wks.range("F4").Text
bekomme in der o. g. Zeile einen Fehler "Syntaxfehler"
wie stelle ich es an mit dem Button, muss ich da den Code direkt an den button anbinden?
Danke Daniel
Gruß Ralf

Bild

Betrifft: AW: Register
von: Daniel
Geschrieben am: 15.07.2015 14:52:29
Hi
schreib mal das IF davor, dass ist beim Kopieren irgendwo verloren gegangen:
IF wks.range("F4").Text <> "" then wks.Name = wks.range("F4").Text
Gruß Daniel

Bild

Betrifft: AW: Register
von: Ralfi
Geschrieben am: 15.07.2015 15:50:03
Hallo Daniel
For Each wks In ThisWorkbook.Worksheet
bekomme nun in dieser zeile folgenden Fehler
Objekt unterstütz diese Methode oder Eigenschaft nicht.
Gruß und Danke

Bild

Betrifft: AW: Register
von: Ralfi
Geschrieben am: 15.07.2015 15:56:14
Hallo Daniel so sieht der Code nun bei mir aus,
weißt Du wo der fehler ist?
Private Sub CommandButton1_Click()
'Sub Umbenennen()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheet
If wks.Range("F4").Text <> "" Then wks.Name = wks.Range("F4").Text
Next
Danke

Bild

Betrifft: AW: Register
von: Werner
Geschrieben am: 15.07.2015 17:37:20
Hallo Ralf,
wenn ich das richtig sehe dann fehlt bei Worksheet ein s --> Worksheets

For Each wks In ThisWorkbook.Worksheets
Gruß Werner

Bild

Betrifft: AW: Register
von: Ralfi
Geschrieben am: 16.07.2015 12:02:55
Hallo Werner,
ersteinmal vielen Dank, dass wars.
aber nun macht er es so wie ich es meine aber am ende kommt eine Fehlermeldung in diesem Abschnitt
wks.Name = wks.Range("F4").Text
und folgende Meldung
Laufzeitfehler 1004
Kann einem Blatt nicht den gleichen Namen geben wie einem anderen Blatteiner Objektbibliothek oder einer Arbeitsmappe, auf die Visuel Basic bezug nimmt

Bild

Betrifft: AW: Register
von: Werner
Geschrieben am: 16.07.2015 15:26:57
Hallo Ralf,
also bei mir geht das mit folgendem Code:

Sub Umbenennen
      Dim wks as Worksheet
      For Each wks in ThisWorkbook.Worksheets
      If wks.Range("F4").Text <> "" Then wks.Name = wks.Range("F4").Text
      Next 
      End Sub
Wenn es bei dir nicht geht, dann stell den Beitrag wieder auf offen (Kontrollkästchen oben neben dem Passwort aktivieren).
Gruß Werner

Bild

Betrifft: AW: Register
von: Daniel
Geschrieben am: 17.07.2015 13:52:26
Hi
du musst selber darauf achten, dass die Werte in F4 der jeweiligen Blätter nur 1x vorkommen.
Die Blattnamen innerhalb der Datei müssen eindeutig sein.
Wenn das jeweilige Blatt nicht umbenannt werden soll, musst du F4 leer lassen.
Aussedem darf der Blattname nicht länger als 31 Zeichen sein und bestimmte Zeichen sind ebenfalls nicht erlaubt.
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Diagramm per Makro ansprechen"