VBA: Gebläuter lstEintrag ruft den code nicht auf

Hi,
Euer Rat ist gefragt:
Mit einem Makro mit Namen „ErbscheinsantragGesetzlicheErbfolge“, das sich in ei-ner Dokumentvorlage befindet, auf die ein Verweis eingerichtet ist, soll eine Form mit Namen „frmKopf“ geladen werden. Im Makro sind u.a. folgende Anweisungen:
with frmKopf
.lsteinseitig1.clear
.lsteinseitig1.additem „Ich – männlich - beurkunde“
.lsteinseitig1.additem „Ich – weiblich - beurkunde“
.lsteinseitig1.Value = „Ich – männlich - beurkunde“.
Ist die Form initialisiert, ist in der Listbox lsteinseitig1 zwar „Ich – männlich - beurkunde“ gebläut, aber die Codes, die in der Folge abgearbeitet werden sollen, werden nicht aufgerufen. Wenn ich aber auf den bereits gebläuten Eintrag noch einmal klicke (wobei sich die gepunktete Linie um den Eintrag etwas hervorhebt), läuft der Code. Meine Frage ist nun:
Wie kann ich den Code ohne dieses zusätzliche Klicken starten?
Danke und Gruß
Wilhelm

Probiere mal die Anweisung

.lsteinseitig1.Value = „Ich – männlich - beurkunde“.

durch

.lsteinseitig1.listindex = 0

zu ersetzen :smile: oder du schreibst nach der anweisung

.lsteinseitig1.Value = „Ich – männlich - beurkunde“.
Call Formname.lsteinseitig_click

Sollte rein theoretisch funzen :smile:

MFG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,
das vollständige Makro, vielleicht ist das für Dich wichtig, sieht so aus:

with frmKopf
.lsteinseitig1.clear
.lsteinseitig1.additem „Ich – männlich - beurkunde“
.lsteinseitig1.additem „Ich – weiblich - beurkunde“
.lsteinseitig1.Value = „Ich – männlich - beurkunde“
.etliches andere
.show
End with

Mit list-index hatte ich es bereits erfolglos probiert.
Auf der frmKopf befindet sich ein cmdStart-Button, mit dem u.a. abgefragt wird: If lsteinseitig1.Value = „Ich – männlich - beurkunde“ then tue dieses oder jenes und hier erkennt das Programm nicht, daß der Wert „true“ ist.

Siehst Du eine Möglichkeit, Deinen Call-Befehl irgendwo einzubauen, in der with… end with-Anweisung geht es ja nicht?

Wilhelm

Hallo Wilhelm,

also ich programmiere nicht unter Word ( Makros)
aber ich hab mal folgendes getestet was funktioniert.
Ich habe ein neues Dokument erstellt, da eine schaltfläche drauf und beim Click auf die Schaltfläche habe ich eine Userform namens frmkopf aufgehen lassen. Auf diese habe ich dann eine Combobox und eine Listbox gesetzt.
Beim laden der Form wird sie mit eintraegen gefüllt und beim anzeigen wird der code ausgeführt der beim Click in der liste ausgefuehrt werden soll.

Der Code schaut bei mir folgendermassen aus :smile:

Private Sub ComboBox1\_Click()
 MsgBox "Hier Code einfügen der ausgeführt werden soll wenn in die Combobox geklickt wird...."
End Sub

Private Sub ListBox1\_Click()
 MsgBox "Hier Code einfügen der ausgeführt werden soll wenn in die Listbox geklickt wird..."""
End Sub

Private Sub UserForm\_Activate()
On Error Resume Next
 With ComboBox1
 .AddItem "Eintrag 1"
 .AddItem "Eintrag 2"
 Call ComboBox1\_Click
 End With
 With ListBox1
 .AddItem "Eintrag 1"
 .AddItem "Eintrag 2"
 .Value = "Eintrag 1"
 Call ListBox1\_Click
 End With
End Sub

Wenn ich die Anweisung listbox1.listindex=0 unter die With Anweisung schreibe so passiert auch das selbige :smile:

In deinem Fall muesste es so ausschauen

in der Activate Prozedure der Form fmrkopf
schreibe folgendes
lsteinseitig1.listindex=0
oder
call lsteinseitig1_Click

wobei du dann den Coder der ausgefuehrt werden soll beim click in die Liste in der lsteinseitg1_Click() stehen muss :smile:

MFG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]