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

Excel VBA existierende Variablen dynamisch aufrufe

Forumthread: Excel VBA existierende Variablen dynamisch aufrufe

Excel VBA existierende Variablen dynamisch aufrufe
03.03.2019 12:31:15
Tom
Hallo zusammen,
ich arbeite gerade an einer kleinen Datenbank und habe folgendes Problem:
Ich möchte die Textboxen einer Userform befüllen. Nachfolgend für eine einzelne Textbox (funktioniert auch).
With Worksheets("TJ").Range("A1:Z2000")
Set findresult2 = .Find("textbox_input_AO_ProvKauf")
End With
textbox_input_AO_ProvKauf = Cells(UserForm_suchen.zeile, findresult2.Column).Value
Jetzt möchte ich jedoch nicht jede einzelne Textbox einzeln befüllen, sondern das mit einer Schleife machen. Ich habe variablen bereits definiert. Diese Variablen (namen der Textboxen) habe ich in in Zellenbereich B3:Q3 geschrieben und jeden Variablennamen einer Position in einem eindimensionalen Arry gespeichert.
Leider wird beim Aufruf der Position des arrays keine Variable in der userform eingetragen. kann mir da vielleicht jemand weiterhelfen?
Dim i As Integer
' Dim tempforarray As String
arr = Range("B3:Q3").Value
For i = 1 To 16
With Worksheets("TJ").Range("A1:Z2000")
Set findresult2 = .Find(arr(1, i))
End With
' tempforarray = arr(1, i) ' versuch die Position des arrays in neue Varibale zu shreiben
MsgBox "i: " & i & "findresult2: " & findresult2 & vbCrLf & "Zeile: " & UserForm_suchen.zeile _
& vbCrLf & " Spalte: " & findresult2.Column & vbCrLf & " Arr(1,i): " & arr(1, i) _
arr(1, i) = Cells(UserForm_suchen.zeile, findresult2.Column).Value
arr(1, i) = Cells(UserForm_suchen.zeile, findresult2.Column).Value
' geht leider auch nicht
'tempforarray = Cells(UserForm_suchen.zeile, findresult2.Column).Value
Next i
End If
Vielen Dank
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA existierende Variablen dynamisch aufrufe
03.03.2019 12:40:20
Nepumuk
Hallo Tom,
versuch es mal so:
Set findresult2 = .Find(Controls(arr(1, i)).Text)

Gruß
Nepumuk
AW: Excel VBA existierende Variablen dynamisch aufrufe
03.03.2019 14:08:19
Tom
Danke für die schnelle Antwort.
ich hab's mal ausprobiert, jedoch bricht er nach dem ersten Schleifendurchlauf mit einem Laufzeitfehler: " Das angegebene Objekt konnte nicht gefunden werden" ab.
Das Problem ist auch, dass in dieser Zeile:
arr(1, i) = Cells(UserForm_suchen.zeile, findresult2.Column).Value
... der Wert aus ...

Cells(UserForm_suchen.zeile, findresult2.Column).Value
... nicht in die Textbox geschrieben wird, sondern der wert an der Stelle arr(1, i) (oder tempforarray) überschrieben wird, weil er wahrscheinlich den Namen der Textbox nicht als Variable erekennt...
wie kann ich das umsetzen?
Gruß
Tom
Anzeige
AW: Excel VBA existierende Variablen dynamisch aufrufe
03.03.2019 14:29:12
Nepumuk
Hallo Tom,
"Das angegebene Objekt konnte nicht gefunden werden" resultiert daraus, dass der Name der TextBox in der Zelle nicht passt. Zum Rest kann ich nichts sagen, denn aus deinen Codefragmenten kann ich kein Gesamtkonzept herleiten. Lade bitte eine Beispielmappe hoch.
Gruß
Nepumuk
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