Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisches Benennen von Tabellenblättern

Automatisches Benennen von Tabellenblättern
21.02.2008 09:45:00
Tabellenblättern
Hi, ich noch ma
ist es möglich, eine bestimmte Anzahl von Tabellenblättern automatisch zu benennen?
In Tabelle 1 habe ich eine namentliche Auflistung, und je Zelle (Namen) sollen die folgenden Tabellenblätter mit diesem Namen benannt werden.
Danke,
alex

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Benennen von Tabellenblättern
21.02.2008 09:49:11
Tabellenblättern
Hallo Alex,
JA

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:05:00
Tabellenblättern
Du bist cool!!!
Na sag schon!

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:07:44
Tabellenblättern
Hi,
Hajo liebt es nun mal, Fragen korrekt zu beantworten ;-)

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 09:58:00
Tabellenblättern
Hallo alex,
Wahrscheinlich willst du auch wissen, wie:
z.B. so:

Sub NamenVergeben()
Const t = "zz" 'Tabelle in der die Namen stehen
Const ErsteZelle = "B4" 'Erste Zelle der Namensliste
Dim max As Integer, i As Integer, ix As Integer, z As Long, s As Integer
With Sheets(t)
i = .Index
max = Sheets.Count
z = .Range(ErsteZelle).Row
s = .Range(ErsteZelle).Column
For ix = i + 1 To max
Sheets(ix).Name = .Cells(z, s)
z = z + 1
Next ix
End With
End Sub


Dieser Code schreibt alle Blätter bis zum letzten mit den Namen aus der Liste voll.
Wenn die Liste zu bald endet, entsteht ein Laufzeitfehler.
Gruß Matthias

Anzeige
AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:14:00
Tabellenblättern
Hi Matthias,
bin etwas unerfahren mit VBA.
kannst du mir noch sagen wie ich alles verändern muss.
Bis "erste Zelle" komm ich noch mit (Tabelle1;A1).
Aber dann....

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:17:00
Tabellenblättern
Hi Alex,

Const t = "Tabelle1" 'Tabelle in der die Namen stehen
Const ErsteZelle = "A1" 'Erste Zelle der Namensliste


was willst du denn anders haben?
Gruß Matthias

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:27:05
Tabellenblättern
das hab ich schon geändert.
muss ich sonst noch was im darauffolgendem Verlauf ändern?

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:28:00
Tabellenblättern
hi,
muss ich sonst noch was im darauffolgendem Verlauf ändern?
...um was zu erreichen?
Läuft der Code nicht oder was? Ich hab keine Glaskugel.
Gruß Matthias

Anzeige
AW: Automatisches Benennen von Tabellenblättern
21.02.2008 10:39:00
Tabellenblättern
hi Matthias,
sorry, will dich nich nerven. Bisher gehts nich.
Mir gehts um diesen Teil:
z = .Range(ErsteZelle).Row
s = .Range(ErsteZelle).Column
muss ich "Erste Zelle" noch durch A1 ersetzen?
Ich drücke mich wahrscheinlich immer etwas unverständlich aus. Im Klartext:
in Tab1 habe ich die Namen in Spalte A (von A1-A100).
Die anderen Tabellenblätter (2-100) sollen die Namen übernehmen.
Wenn also in Tab1, ZelleA1 "Alex" steht, dann soll Tabelle 2 in "Alex" umbenannt werden.
Wenn nichts in A1 steht bleibt der vorherige Name (Tabelle2) stehen.

Anzeige
AW: Automatisches Benennen von Tabellenblättern
21.02.2008 11:10:39
Tabellenblättern
ich noch mal,
wenn ich das makro in VBA-Editor ausführe gehts, mit ausnahme: Laufzeitfehler1004 Anwendungs- oder objektdefinierter Fehler. Aber er machts trotzdem. Muss ich dann noch im Tabellenblatt eine Schaltfläche anlegen, der ich das Makro zuweise? Ich wollte eigentlich wenn ich den Namen in Tabelle 1 Zelle a1 eingebe, dass das Tabellenblatt2 sofort umbenannt wird.

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 11:24:00
Tabellenblättern
Hallo Alex,
nichts geht über konkrete Problemstellungen.
Diesen Code ins Codemodul von "Tabelle1":

Private Sub Worksheet_Change(ByVal Target As Range)
Const b = "A1:A100" 'überwachter Bereich
Dim z As Range, rng As Range
Set rng = Intersect(Target, Range(b))
If Not rng Is Nothing Then
On Error Resume Next
For Each z In rng
Sheets(z.Row + 1).Name = z.Value
If Err.Number > 0 Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
MsgBox Err.Description, vbExclamation, "Fehler " & Err.Number
Exit For
End If
Next z
End If
End Sub


Gruß Matthias

Anzeige
AW: Automatisches Benennen von Tabellenblättern
21.02.2008 11:40:00
Tabellenblättern
Hi Matthias,
funktioniert soweit gut, danke, klasse.
nur wenn ich die Zelle leer habe, soll er das Blatt wieder in Tabelle 2, 3, usw. benennen.

AW: Automatisches Benennen von Tabellenblättern
21.02.2008 11:45:47
Tabellenblättern
Hi alex,
dann so:

Private Sub Worksheet_Change(ByVal Target As Range)
Const b = "A1:A100" 'überwachter Bereich
Dim z As Range, rng As Range, n As String
Set rng = Intersect(Target, Range(b))
If Not rng Is Nothing Then
On Error Resume Next
For Each z In rng
If z = "" Then
n = "Tabelle" & z.Row + 1
Else
n = z.Value
End If
Sheets(z.Row + 1).Name = n
If Err.Number > 0 Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
MsgBox Err.Description, vbExclamation, "Fehler " & Err.Number
Exit For
End If
Next z
End If
End Sub


Gruß Matthias

Anzeige
Geschafft!
21.02.2008 12:16:00
alex
Danke Matthias,
klappt einwandfrei!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige