Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ungültiger Bezeichner

Forumthread: ungültiger Bezeichner

ungültiger Bezeichner
11.07.2024 18:01:22
chkemm
Hallo Forum,

Ich hab schon wieder einmal ein Problem

Ich würde gern über die UF in einer List box ein Tabellenblatt auswählen.
dann über die gleiche UF in den Boxen Werte eingeben die auf dem dazugehörigem Tabellenblatt in die Tabelle eingetragen wird.
Aber in die Zeile die auf dem ersten Tabellenblatt angeben wird ( hier KW)
Dann sollen die Werte als Diagramm aus wählbar sein und ausgelesen werden( das ist kein Problem).

Jetzt zeigt er mir immer einen Fehler beim Komplimentieren an: Ungültiger Bezeichner

Der Fehler ist bestimmt ganz simple aber leider zu schwer für mich darum brauch ich eure Hilfe

https://www.herber.de/bbs/user/170860.xlsm
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ungültiger Bezeichner
11.07.2024 18:52:47
daniel
bitte aufpassen.
jedes Tabellenblatt hat zwei Namen:
a) den Indexnamen.
Dieser steht im Projektexplorerbaum in der Klammer und zusätzlich auf dem Tabellenblattreiter. In der Eigenschaftsliste steht bei "Name" (vierte Zeile von unten)
b) den Codenamen.
Dieser steht im Projektexplorerbaum vor der Klammer und in der Eigenschaftsliste bei "(Name)" (oberste Zeile)

du kannst das Tabellenblatt im Code über beide Namen referenzieren.
wenn man den Indexnamen verwendet, so muss das ein Textstring sein welcher In ein Sheets("Indexname") oder Worksheets("Indexname") eingebettet ist
Beispiel: Sheets("Übersicht").Select
den Codenamen kann man nur direkt im Code verwenden
Beispiel: Tabelle1.Select
wenn man Tabellenblattnamen berechnen will bspw aus mehreren Teilen zusammensetzen möchte, dann geht das nur über den Indexnamen.

das hier funktioniert:
dim x as String

x = "Über" & "sicht"
Worksheets("x").Select

das hier ist falsch:
dim x as String

x = "Tabelle" & "1"
x.Select


ich hoffe mal, das hilft dir deinen Code selbst zu korrigieren, da er an mehreren Stellen fehlerhaft ist und du die Prinzipien "Codename" und "Indexname" durcheinanderwirfst.

Gruß Daniel
Anzeige
AW: ungültiger Bezeichner - korrektur
11.07.2024 18:56:28
daniel
mit Variablen natürlich so:

dim x as String

x = "Über" & "sicht"
Worksheets(x).Select
AW: ungültiger Bezeichner - korrektur
12.07.2024 08:18:26
chkemm
Ja Danke für deine Hilfe,

Das hat mir ein bißchen geholfen um das ganze zu verstehen.
Ich hab jetzt die Formel geändert und so funktioniert Sie. Aber leider nicht mit der Variablen. So wie Sie jetzt ist schreibt Sie nur auf Blatt A.
Ich würde aber gerne über das UF List box auswählen welche Tabelle er nehmen soll zum schreiben.

Dann müsste man die Listobjects variable machen und die Suchfunktion und das bekomm ich nicht hin.
Kann mir da jemand helfen.
Ich hab meine geänderte Excel nochmal hochgeladen.

https://www.herber.de/bbs/user/170869.xlsm
Anzeige
AW: ungültiger Bezeichner - korrektur
12.07.2024 10:13:18
daniel
Hi

 Set tbl = Worksheets(pfd).ListObjects(1)


du musst, wenn du das Worksheet variabel ansprechen willst, über den Indexnamen (also der der auf dem Reiter steht), gehen und NICHT über den Codenamen.
Gruß Daniel
AW: ungültiger Bezeichner - korrektur
12.07.2024 12:31:38
chkemm
Danke das hat sehr viel geholfen.
Nur noch eine Frage aber kann man die Suchfunktion auch variabel auf die Listbox gestalten auf ein Tabellenblatt?

( Zeile = Range("Tabelle_BlattA[Datum]").Find(What:=Tabelle1.Range("b4").Value _
, LookIn:=xlValues, LookAt:=xlWhole).Row - tbl.HeaderRowRange.Row ) so steht Sie im Moment

z.B. so ( Zeile = Worksheets(pfd).listobject(Tabelle_Blatt & pfd[Datum]).Find(What:=Tabelle1.Range("b4").Value _
, LookIn:=xlValues, LookAt:=xlWhole).Row - tbl.HeaderRowRange.Row )

Trotzdem schonmal Danke für alles


Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige