Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellennamen automatisch zuweisen
#1
Hallo zusammen,

ich hätte eine Frage an die Community:

Gibt es eine Möglichkeit, dass wenn ich nun in Zelle B7 "test_3" eintrage, dass dann die Tabelle in Spalte H unter "Entwurf" -> automatisch den Namen "test_3" erhält? (Siehe Anhang)

Sprich, kann ich den Tabellenname dynamisch zuweisen?

Vielen Dank im Voraus.
marco


Angehängte Dateien
.xlsx   Test.xlsx (Größe: 11,66 KB / Downloads: 7)
Antworten Top
#2
Hallo!

Du hast es doch schon bei test_1 und test_2 hinbekommen. Schreibe in B7 =H3 und du hast, was du möchtest.

LG Alex
Antworten Top
#3
Hallo Marco,

ich verstehe deine Frage nicht. Wenn du jetzt (ausgehend von deiner Musterdatei) in B7 deinen Eintrag machst, wird er doch automatisch in H3 geschrieben. Sollte dich die Null stören, die ohne Eintrag entsteht, kannst du sie benutzerdefiniert mit
Code:
0;;
ausblenden.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Hallo,

das ginge per VBA.
Gruß Atilla
Antworten Top
#5
Hallo,

weil ich die Problemstellung interessant fand, habe ich eine kleine Lösung per Vba ausgearbeitet.
Das Ganze ist auf Deine Beispielmappe ausgerichtet.
Bei jeder Änderung der Zellen in der Tabelle "Hauptkategorie" wird der Tabellenname entsprechend geändert.

Ich nutze den Index der zugehörigen Tabellen.
Zeile 2 der Hauptkategorie entspricht Lisobject(2)
Zeile 3 der Hauptkategorie entspricht Lisobject(3) usw.

Unten der Code gehört in das Code Modul der Tabelle mit den Listobjecten:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim lngErsteTabZ As Long
   Dim lngAuswahlZeile As Long
   Dim rngTab As Range

   Set rngTab = ActiveSheet.ListObjects(1).DataBodyRange
   If Not Intersect(Target, rngTab) Is Nothing Then
      If Application.CountIf(rngTab, Target.Value) > 1 Then
         MsgBox "Es existiert bereits eine Tabelle mit dem selben Namen!"
         Application.EnableEvents = False
         Application.Undo
         Application.EnableEvents = True
      Else
         If Target <> "" Then
            lngErsteTabZ = Target.ListObject.ListRows(1).Range.Row
            lngAuswahlZeile = Target.Row - lngErsteTabZ + 1
            ActiveSheet.ListObjects(lngAuswahlZeile + 1).Name = Target.Value
         End If
      End If
   End If

End Sub
Gruß Atilla
Antworten Top
#6
Hallo Atilla,

großartig, vielen Dank!!
Du hast genau verstanden, was meine Problemstellung war. :23:

Könntest Du mir eventuell noch 1-2 Sätze zur Erklärung neben die Codes schreiben?
Ich finde VBA super spannend, jedoch empfinde ich es als äußerst sehr schwer die einzelnen Codes nachzuvollziehen..

Vielen Dank und liebe Grüße
Marco
Antworten Top


Gehe zu:


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