ich versuche folgendes Problem zu lösen:
Ich habe eine Datei mit diversen Modulen und Userformen, mit der ich Auswertungen erzeuge.
Eine abgespeckte d.h. via VBE um PRIVATE-Module und Userformen bereinigte Version dieser Datei, geht turnusmäßig an andere Nutzer, die nur Teilfunktiontionalität nutzen (dürfen).
Nun habe ich je nach Nutzer u.a. eine Userform UF_PRIVATE_Dialog für mich und eine UF_PUBLIC_Dialog für alle anderen Nutzer.
Im Code verwende ich allerdings nur das Objekt UF_Dialog (Public UF_Dialog As Object ) , daß ich wie folgt abhängig vom Dateinamen der jeweils gültigen Userform zuweise:
Select Case True
Case UCase(ThisWorkbook.Name) = "TOOL_ADMIN.XLSM"
Set UF_Dialog = UF_PRIVATE_Dialog
Case Else
Set UF_Dialog = UF_PUBLIC_Dialog
End Select
Nun mein Problem:
Die PRIVATE -Module/Userformen lösche ich in den Nutzerdateien via VBE.
Daher wird in den Nutzerversionen die Codezeile
Set UF_Dialog = UF_PRIVATE_Dialog
aufgrund der gelöschten Userform UF_PRIVATE_Dialog bemängelt.Als Alternative in der Zuweisung hatte ich daher versucht UF_Dialog wie folgt zuzuweisen:
Select Case True
Case UCase(ThisWorkbook.Name) = "TOOL_ADMIN.XLSM"
Set UF_Dialog = ThisWorkbook.VBProject.VBComponents("UF_PRIVATE_Dialog")
Case Else
Set UF_Dialog = ThisWorkbook.VBProject.VBComponents("UF_PUBLIC_Dialog")
End Select
Das funktioniert zwar, nur habe ich nun das Problem, dass die Zuweisung auf diese Art ein _ anderes Ergebnis liefert, als die Variante
Set UF_Dialog = UF_PRIVATE_Dialog
Das Objekt bzw. seine Eigenschaften weichen bei beiden Varianten voneinander ab.Dadurch kann ich nicht wie vorher auf die Objekte der Userform zugreifen.
Z.B. funktioniert die Anweisung
UF_Dialog.L_PROJ_PAB_Aktuell = " " & strID_PROJ_PAB_aktuell
nicht, während die Anweisung bei Nutzung der konkreten Userform funktioniert:
UF_PUBLIC_Dialog.L_PROJ_PAB_Aktuell = " " & strID_PROJ_PAB_aktuell.
Ich würde mich sehr freuen, wenn mir jemand einen Hinweis geben könnte, wie ich eine funktionierende Zuweisung realisieren kann, bei der ich eine Variable UF_Dialog genauso im Code nutzen kann, wie die tatsächliche Userform UF_PRIVATE_Dialog.
Wie immer vielen Dank vorab, für jeden der sich mit meinem Problem beschäftigt.
Ich wünsche Euch einen schönen Wochenstart.
Zacharias