Clever-Excel-Forum

Normale Version: Tabellenname aus Zelle automatisch übernehmen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallöchen,

was passiert denn bei den Tabellen, die nicht umbenannt werden? Kommt eine Meldung?
Sie werden nicht umgeschrieben und es kommt die Messagebox die du generiert hast mit deinem Text:

"Umbenennen nicht möglich - bitte anderen Namen wählen!"
Hallöchen,

die Meldung kommt deswegen, weil der Blattname bereits existiert. Blattnamen müssen eindeutig sein.
e --> Fehlermeldung
Nein, das geschieht auch wenn ich Beispielsweise einfach das Alphabet in die Zellen eingebe

a,b,c,d,

bei
e --> Fehlermeldung
f --> Fehlermeldung
k --> Fehlermeldung
m --> Fehlermeldung
n --> Fehlermeldung
o --> Fehlermeldung
p --> Fehlermeldung

Diese Tabellennamen existieren jedoch nicht
Hallöchen,

kann ich nicht nachvollziehen, bei mir geht's mit allen Buchstaben, hier im Bild mal einer davon..
Kannst Du die Datei eventuell mal hochladen?

[attachment=7415]
(14.10.2016, 15:13)schauan schrieb: [ -> ]Hallöchen,

kann ich nicht nachvollziehen, bei mir geht's mit allen Buchstaben, hier im Bild mal einer davon..
Kannst Du die Datei eventuell mal hochladen?

Klar.
Hier die Datei(ohne Inhalt).
Hallöchen,

ich habe den Code mal etwas geändert und erweitert. Der Code kommt wieder ins Blattmodul. Voraussetzung ist übrigens, dass Du zuvor mal die Namen entsprechend den vorhandenen Tabellen eingibst. Ab dann sollte es korrekt funktionieren. Der Code ist jetzt darauf ausgelegt, dass die Namen in F20:F24 und F26:F35 stehen. Ändert sich da was, muss der Code entsprechend angepasst werden.

Code:
Dim strOldValue$

Private Sub Worksheet_Activate()
strOldValue = ActiveCell.Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'Variablendeklaration
Dim iCorrect% 'Korrekturwert - Integer
On Error GoTo errorhandler
'Mako verlassen, wenn mehr als eine Zelle betroffen u.a.
If Target.Cells.Count > 1 Or _
   Target.Column > 6 Or _
   Target.Column < 6 Or _
   Target.Row < 20 Or _
   Target.Row > 35 Or _
   Target.Row = 25 Then Exit Sub
'mit dem "alten" Blatt
With Sheets(strOldValue)
  'Blattname an Position der entsprechend Zeilennummer aendern
  'wenn es nicht dieses ist
  If .Name <> Me.Name Then .Name = Target
'Ende mit dem "alten" Blatt
End With
'Fehlerbehandlung
errorhandler:
'Bei Fehler Meldung ausgeben
If Err Then MsgBox "Umbenennen nicht möglich - bitte anderen Namen wählen!"
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
strOldValue = ActiveCell.Value
End Sub
 Voraussetzung ist übrigens, dass Du zuvor mal die Namen entsprechend den vorhandenen Tabellen eingibst. Ab dann sollte es korrekt funktionieren.


Was meinst du damit?
Wo sollten die Namen eingegeben werden?
Also F20 wird übernommen.

Bei F21, 22 28, 29, 30, 31, 33, 34 zeigt er die Msg Box an.
"Umbenennen nicht möglich - bitte anderen Namen wählen!"

Jedoch will er einen anderen Namen auch nicht akzeptieren.
Hi,

(18.10.2016, 11:40)Wow4ik schrieb: [ -> ]Was meinst du damit?
Wo sollten die Namen eingegeben werden?

so wie ich es bruchstückhaft verstehe, stehen die Namen in F20:F24 und F26:F35. Dort sollte überprüft werden, ob die Namen drin stehen, wie momentan Deine Tabellen heißen, vor Start des Makros. Wenn nein, dann korrigieren.
Seiten: 1 2 3 4