Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehler beim VBA-Code - Formel INDIREKT

Fehler beim VBA-Code - Formel INDIREKT
07.01.2022 09:49:47
Frederic
Einen schönen guten Morgen zusammen. Bisher habe ich bei allen Problemen über google u.A. hier in diesem Forum immer eine Antwort gefunden, dieses hier ist aber so spezifisch, dass ich dazu nichts finden konnte.
Erst einmal erkläre ich mein Szenario:
Ich habe eine Zelle, in dem ein bestimmter Gerätetyp steht. Anhand diesen Gerätetyps soll in einer anderen Zelle eine Liste mit allen bei diesem spezifischen Gerät verfügbaren Anschlüssen verfügbar werden. Dies realisiere ich so, dass ich für jeden Gerätetyp eine Tabelle mit gleichem Namen und mit allen verfügbaren Anschlüssen erstelle und in der besagten Zelle dann bei der Datenüberprüfung die Formel "=INDIREKT("Zelle mit dem Gerätetyp und Name der Tabelle") einfüge. Das funktioniert wunderbar, wenn ich diese Formel von Hand eingebe. Wenn ich dabei ein Marko laufen lasse, gibt er mir folgenden VBA-Code aus:

Range("B23:E23").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIREKT(Daten_LL!$AA$2)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Soweit so gut, nur leider kommt beim Ausführen dieses Codes immer "Anwendungs- oder objektdefinierter Fehler" und beim Debug markiert er immer den Befehl "Add Type".
Hier komme ich leider gar nicht weiter, mich verwirrt einfach, dass der von Excel erzeugte Code selbst nicht funktioniert...
Hier wäre ich über Hilfe sehr dankbar :-)
Vielen Dank und Grüße
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim VBA-Code - Formel INDIREKT
07.01.2022 09:51:41
{Boris}
Hi,
VBA spricht englisch.
Ungetestet:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(Daten_LL!$AA$2)"
VG, Boris
AW: Fehler beim VBA-Code - Formel INDIREKT
07.01.2022 09:56:26
Frederic
Hallo Boris,
vielen Dank für die schnelle Antwort. Leider kommt der Fehler immer noch :-(
Grüße
Anzeige
Doch, das geht...
07.01.2022 10:03:45
{Boris}
Hi,
...zum Zeitpunkt der Makroausführung muss in Daten_LL!AA2 aber auch ein gültiger (für INDIREKT auswertbarer) Bezug stehen - andernfalls kommt es zu dem Fehler.
Wenn Du das manuell in der Datenüberprüfung eingibst und der Bezug nicht aufgelöst werden kann, dann meldet sich Excel auch mit einer Fehlermeldung "Die Quelle untersucht gerade einen möglichen Fehler..." - den kann man da mit OK wegbügeln - aber mit VBA führt das eben zu diesem Fehler.
Damit der Code nicht abschmiert, kann man ein On Error einbauen - aber in den Zellen gibt es dann nach wie vor nicht die gewünschten Dropdowns.
VG, Boris
Anzeige
AW: Doch, das geht...
07.01.2022 10:29:23
Frederic
Das ist tatsächlich des Rätsels Lösung :-)
Da ich mit einem Sub eine komplette Eingabemaske neu aufbaue, ist auch die Zelle für den Bezug für das INDIRECT zum Zeitpunkt der Codeausführung noch leer. Daher darf der Code dabei nicht abschmieren...
Da ich kein sonderlicher VBA-Virtuose bin, kannst du mir vielleicht noch sagen, wie ich das mit dem on error einbaue? :-)
Vielen lieben Dank.
Anzeige
AW: Doch, das geht...
07.01.2022 10:44:29
{Boris}
Hi,
mit On Error bekommt man zwar den Fehler weg - aber die Zellen erhalten nicht das gewünschte Dropdown.
Abhilfe: Zu Beginn des Codes der Zelle Daten_LL!AA2 einen (für INDIREKT auswertbaren) Wert zuweisen und den Zellinhalt am Ende des Codes wieder löschen.
Also zu Beginn z.B.:

Range("Daten_LL!AA2") = "B1:B3"
und am Ende

Range("Daten_LL!AA2").ClearContents
VG, Boris
Anzeige
AW: Doch, das geht...
07.01.2022 11:19:06
Frederic
Super, so mache ich es.
Vielen Dank für de Hilfe. Schönes Wochenende :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige