Tabellenname aus Zelle automatisch übernehmen?
#11
Kleiner Nachtrag:

habe in Zelle F20 einen Namen eingegeben. Dieser wurde in die vorletzte Tabelle übertragen(Tabelle 12)
Woran liegt dies?
dachte es würde dann zu Tabelle 2 springen(falsch gedacht).
Top
#12
Also meine Datei sieht quasie so aus.


Angehängte Dateien
.xlsx   Bsp.Tab.xlsx (Größe: 17,27 KB / Downloads: 10)
Top
#13
Hi,

mit der Mappe kann ich nichts anfangen...
1. kein Code in der Mappe da xlsx
2. kein Zusammenhang erkennbar (für mich)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#14
Hallöchen,

wenn eine Hilfsspalte die Indizees der Codenamen der Tabellen enthält
Arbeitsblatt mit dem Namen 'Info'
 FG
20Info1
21Contr.2
könnte man das so angehen. Fehlerbehandlungen usw. fehlen hier noch ...

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Variablendeklarationen
'String, Objekt
Dim strName As String, wsh As Object
'Wenn die Eingabe in Spalte F=6 erfolgte, dann
If Target.Column = 6 Then
  'Codename der tabelle aus Spalte E=7 entnehmen
  strName = "Tabelle" & Target.Offset(0, 1).Value
  'Schleife ueber alle Blaetter
  For Each wsh In ThisWorkbook.Sheets
    'Wenn der codename zutrifft, dann
    If wsh.CodeName = strName Then
      'Blatt mit Inhalt von Zelle aus Spalte F=6 umbenennen
      wsh.Name = Target.Value
      'Schleife verlassen
      Exit For
    'Ende Wenn der codename zutrifft, dann
    End If
  'Ende Schleife ueber alle Blaetter
  Next
'Ende Wenn die Eingabe in Spalte 6 erfolgte, dann
End If
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Wow4ik
Top
#15
(30.08.2016, 08:46)chris-ka schrieb: Hi,

mit der Mappe kann ich nichts anfangen...
1. kein Code in der Mappe da xlsx
2. kein Zusammenhang erkennbar (für mich)

Sorry.

Hier aber eine neue Bsp. Datei.
Die Inhalte(Texte) der Zellen F20 - F35(in der Tabelle Info) sollen in die Tabellennamen unten übernommen werden. Bislang geschieht dies per Hand. Dies soll jedoch automatisch geschehen. Durch Eintippen eines anderen Namens z.B. in F20(ABS) soll unten die 2. Tabelle, welche bislang Contr. hieß nun automatisch den Namen der Zelle F20(ABS) übernehmen. Dies sollte auch für die anderen Zellen/ Tabellen geschehen.

Das Problem ist, das die Tabellen nicht mit 1 beginnen und fortlaufend sind.
So ist das Tabellenblatt an 2. Stelle (Contr.) nicht die Tabelle 2, sondern die Tabelle 4....
das Tabellenblatt an der 3. Stelle (Contr. engl)  hat nicht die Nummerierung 3, sondern wurde später hinzugefügt und ist nun die Tabelle 19 usw.

Seht ihr da eine Möglichkeit das gane zu lösen?
Top
#16
(27.09.2016, 10:06)Wow4ik schrieb: UPPPS....eine BSP-Datei fehlt ja :16:


Angehängte Dateien
.xlsm   BSP.xlsm (Größe: 130,07 KB / Downloads: 7)
Top
#17
Hallöchen,

wenn Du z.B. per Formel die originalen Blattnamen holst und daneben die gewünschten neuen Namen schreibst, würde das Umbenennen ganz einfach gehen. Nach der Umbenennung ändert sich auch automatisch der per Formel ermittelte Eintrag.

Tabellenblattname: Info
FG
26Anf.-Def.Anf.-Def.

Benutzte Formeln:
G26:  =TEIL(ZELLE("Dateiname";'Anf.-Def.'!$A$1);FINDEN("]";ZELLE("Dateiname";'Anf.-Def.'!$A$1))+1;31)
© schauan
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Wow4ik
Top
#18
Es soll jedoch so gehen. Ich darf es nicht anders machen.
Der Name aus der Zelle soll automatisch in den Tabellennamen umgewandelt werden.
Der 2. Name aus der Zelle in den nächsten Tabelleneiter übernommen werden usw.

Leider darf der Vorschlag so nicht übernommen werden.
Jedoch weiß ich auch nicht wie ich das sonst hin bekommen soll.
Top
#19
Hallöchen,

schaue mal, ob Dir das Prinzip passt.
Erstelle zum Test mal eine Datei mit mehreren Blättern. Füge den Code ins Tabellenblattmodul von Tabelle1 ein. "Mische" dann die anderen Blätter.
Gib dann in Spalte A was ein und schaue, ob das richtige Blatt umbenannt wird.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errorhandler
'Mako verlassen, wenn mehr als eine Zelle betroffen
If Target.Cells.Count > 1 Then Exit Sub
'Mako verlassen, wenn Zeilennummer der Eingabe groesser Anzahl Blaetter ist
If Target.Row > Sheets.Count Then Exit Sub
'Blattname an Position der entsprechend Zeilennummer aendern
Sheets(Target.Row).Name = Target
'Fehlerbehandlung
errorhandler:
'Bei Fehler Meldung ausgeben
If Err Then MsgBox "Umbenennen nicht möglich - bitte anderen Namen wählen!"
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#20
Hey, vielen Dank.

Der Anfang funktioniert bereits. Die ersten 4 Zellen übernimmt er in die Tabellen so wie er es soll, danach meckert er ab und an und gibt deinen Fehlertext aus.
Habe es auch in einer anderen Tabelle versucht. Selbes Spiel. Ab der 5. Zelle gibt er die Fehlermeldung aus.

Ach ja. Die Tabelle in der die Namen eingegeben werden soll NICHT umbenannt werden. Nur die darauf folgenden.


Wenn ich genauso viele Zellen ausfülle wie Tabellen existieren 19 an der Zahl.

So übernimmt er die Namen der 5.,6.,11., 13.,14.,15., & 16. Zelle nicht, alle anderen werden umbenannt.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste