Nach ewigen Experimenten, die alle erfolglos waren, muss ich nun doch um Hilfe bitten:
Ich habe eine Excel Tabelle, in der alle genutzten Felder mehrer Userforms gelistet sind, daneben stehen die numerischen Werte der Spalten des DatenBlattes, in welche die Eingaben aus der UF gespeichert werden sollen. Alles befindet sich in einer Arbeitsmappe.
Das ursprüngliche Macro stürzte bei dieser Zeile ab: UF_Name.Controls(UsedName).Tag = valWriteCol
Ein Test mit MsgBoxen ohne diese Zuordnung hat jeweils die richtigen Werte gebracht und das Macro ist fehlerfrei durchgelaufen.
Nun denke ich, dass es wohl daran liegt, wenn in der Liste eine Feldbezeichnung steht, die im aktuellen UF nicht enthalten ist.
(Man(n)/Frau will nicht wissen wieeeeee lange ich gebraucht habe auf diese Idee zu kommen :-9 )
Somit habe ich das Macro abgeändert und versucht die vorhanden Objekte der UF auszulesen und mit der Liste zu vergleichen.
Vereinfacht sieht der Code nun so aus. Aber ich bekomme das immer noch nicht hin.
dim objField as object
dim UsedName as variant
dim valWriteCol as long
For Each objField In UF_Name.Controls
For Each UsedName In Range(RangeName)
If objField.Name = UsedName Then
valWriteCol = SYS_DataBase.Cells(UsedName.Row, DestinCol.Column)
UF_Name.Controls(objField).Tag = valWriteCol
Exit For
End If
Next
Next
Ich habe leider keine Idee, wie ich auf die Feldbezeichnung des Feldes komme.Beispiel: Feldbezeichnung ist txt.Strasse der Name Strasse
Also soll in der Liste nach txt.Strasse gesucht werden.
Die UF enthält auch OptionButtons, CheckBoxen, ComboBoxen und ListBoxen nach welchen gesucht werden soll,
darum dachte ich wäre die Verwendung der Feldbezeichnung am sinnvollsten. Oder gibt es eine bessere Lösung?
Kann mir jemand einen Tipp geben?
Vielen Dank im voraus.
Gert