Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anpassung Tabellenblattname mit VBA

Anpassung Tabellenblattname mit VBA
23.11.2004 11:08:53
Basch
Hallo Leute,
ich habe im Tabellenblatt „Auslastung“ in den Zellen E5 bis J5 sechs Monatsnamen die veränderlich sind. Daneben habe ich sechs Tabellenblätter dessen Tabellenblattnamen sich entsprechend der Texteinträge in Zelle E5 bis J5 anpassen sollen. Ich habe nun aus der Recherche den Code
sheets(1).name = sheets("Tabelle1").range("A1").value
genommen und ihn so für das erste der sechs Tabellenblätter angepasst:
Sheets(1).Name = Sheets("Auslastung").Range("E5").Value
Dafür habe ich mit der rechten Maustaste auf den Tabelleblattname „Tabelle 1“ geklickt und unter Code anzeigen im Visual Basic-Editor den Code im rechten Fenster eingegeben.
Was passiert? Nichts!
Leider passt sich der Blattname von Tabelle 1 nicht an. Was habe ich falsch gemacht. Bitte um Hilfe.
Gruß und vorab ein Dankeschön, Basch

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anpassung Tabellenblattname mit VBA
Dr.
Du musst auch irgendwo die Routine starten. Wann soll das sein? Automatisch? Zu bestimmten Ereignissen?
AW: Anpassung Tabellenblattname mit VBA
23.11.2004 11:23:32
Basch
Hallo,
schön wäre es wenn die Routine sich sofort bei Änderung der Zellen E5 bis J5, also bei Änderung des Zelleninhalts starten würde. Bei Änderung der Zellen E5 bis J5, ändern sich auch die Tabellenblattnamen automatisch.
Geht das?
Basch
AW: Anpassung Tabellenblattname mit VBA
Dr.

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 6
Sheets(i + 1).name = ActiveSheet.Range("A" & i).Value
Next i
End Sub

Auf e5 bis j5 kannst Du den Code sicher selbst anpassen ;-)
Anzeige
AW: Anpassung Tabellenblattname mit VBA
23.11.2004 12:17:49
Basch
Erst mal Danke.
Irgendwie funtioniert es nicht und verstehen kann ich den Code auch nicht.
Ich habe ihn jetzt in das 1. Tabellenblatt mit dem Namen "Auslastung" kopiert. Nicht in ein Modul, ok?, sondern in das Tabellenblatt im Visual Basic-Editor (nennt man das dann ein Klassenmodul?).
Ins Auslastungsblatt habe ich den Code kopiert, da das ja das aktive Blatt bei Ausführung sein soll.
Nun zählt die Schleife von 2 bis 7, spricht also den Blattnamen des 2. bis 7. Arbeitsblattes an und soll aus dem aktiven Blatt von Spalte A2 bis A7 den Inhalt übernehmen bei Deinem unveränderten Code.
Aber wie stelle ich den Code um damit er mir nicht die Zeilen sondern die Spalten hochzählt. Leider bin ich doch nicht so gut in VBA.
Gruß, Basch
Anzeige
AW: Anpassung Tabellenblattname mit VBA
Uduuh
Hallo,
for i=2 to 7
sheets(i).name=activesheet.cells(5,i+3)
next i
holt die Namen aus E5:J5
Gru0 aus'm pott
Udo
AW: Anpassung Tabellenblattname mit VBA
23.11.2004 14:19:18
Basch
Vielen Dank erstmal an Dr. und Uduuh,
das Makro von Uduuh läuft wunderbar. Toll was man mit VBA alles machen kann, das macht schon Spaß. Es gibt jedoch noch einen kleinen Schönheitsfehler.
Was ich nicht erwähnt habe ist, da ich darin vorher kein Problem sah, dass die Änderung der Zellen E5 bis J5 über ein Drehfeld geschieht. Nun läuft der Code erst, wenn ich die Zelle E5 öffne und mit Enter wieder schließe.
Das Drehfeld zählt die Zelle O7 immer um eins hoch und über die Formel =DATUM(2004;O7;1)ändern sich dann die Monate in den Zellen E5 bis J5.
Gibt es noch eine Lösung ? Wahrscheinlich müßte man das Problem mit den Tabellenblattnamen nun von einer ganz anderen Seite lösen, vermute ich.
Vielen Dank erstmal an die Experten, immerhin läuft es ja schon.
Gruß, Basch
Anzeige
AW: Anpassung Tabellenblattname mit VBA
23.11.2004 14:53:29
Basch
Hallo Uduuh und Dr.,
es gibt leider noch ein anderes Problem. Die Tabellenblätter lassen sich nicht um einen folgenden Monat verändern. Ich vermute das es daran liegt, das wenn das erste Monatsblatt Jan. heißt, das zweite Febr., das dritte März ... beim Umbenennen des Jan-Blattes in Febr. ein Konflikt entsteht, der sich daraus ergibt, dass schon das zweite Blatt Febr. heißt und somit zwei Blätter den gleichen Namen hätten.
AW: Anpassung Tabellenblattname mit VBA
u_
Hallo,
for i=7 to 2 Step -1
sheets(i).name=activesheet.cells(5,i+3)
next i
löst das Prob mit den Namenskonflikten.
Zur Änderung: Rufe das Makro zur Benennung der Blätter im Klick-Ereignis deines Drehfeldes auf. Jedesmal wenn du auf das Drehfeld klickst werden dann die Blätter neu benannt.
Gruß
Anzeige
AW: Anpassung Tabellenblattname mit VBA
23.11.2004 16:29:44
Basch
Ich danke vielmals für die Hilfe, jetzt ist alles bestens.
Viele Grüße, Basch
AW: Anpassung Tabellenblattname mit VBA
23.11.2004 15:06:02
Basch
Hallo,
kann man nicht in die einzelnen Monatsblätter jeweils einen Code eingeben nach dem Muster:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheet(2).Name = Sheet(1).Cells(5, 5)
End Sub

und im nächsten Blatt:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheet(3).Name = Sheet(1).Cells(5, 6)
End Sub

so läuft er leider nicht, aber gibt es so was in der Richtung und wie könnte die Lösung aussehen. Kann mir noch einer helfen?
Gruß, Basch
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige