Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
OptionButton nicht in Click-Anweisung
17.03.2021 11:50:18
Christoph
Hallo Zusammen,
ich will über eine If-Abfrage den Status von 2 OptionButton setzen. Also, wenn die gerade verwendete Sprache deutschj ist, dann soll OptionButton1 in einer Userform1 aktiv sein, wenn die sprache englisch ist, dann OptionButton2. Über diese beiden OptionButton kann ich, während mir die Userform angezeigt wird, die Sprache wechseln und es wird direkt die Userform übersetzt. Das passiert über "Sub OptionButton1_Click", bzw. "Sub OptionButton2_Click".
Jetzt zu meinem Problem: Bei der initialisierung der Userform, wenn z.B. der OptionButten1 auf True gesetzt werden soll, springt das Makro direkt in die Anweisung "Sub OptionButton1_Click". Kann ich das verhindern? Die Click-Anweisung soll nur von der Userform aus Verwendung finden.
PS: Frage am Rande: Wie würdet Ihr eine Übersetzung von Userformen und Tabellenblättern realisieren? Ich habe aktuell ein ausgeblendetes Tabellenblatt, wo untereinander alle verwendetet Wörter gelistet sind und über eine Schleife lasse ich entweder das englische, oder das deutsche Wort einfügen.
Danke im Voraus
Christoph

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

Betreff
Datum
Anwender
Anzeige
AW: OptionButton nicht in Click-Anweisung
17.03.2021 11:55:53
Rudi
Hallo,
Schema:
Option Explicit
Dim bolINIT As Boolean
Private Sub UserForm_Initialize()
bolINIT = True
OptionButton1 = True
bolINIT = False
End Sub
Private Sub OptionButton1_Click()
If Not bolINIT Then
'mach was
End If
End Sub

Gruß
Rudi

AW: OptionButton nicht in Click-Anweisung
17.03.2021 12:06:41
Christoph
Hallo Rudi,
danke für die schnelle Antwort. Also kann das Springen in die Click-Anweisung nicht verhindert werden, nur der ganze Durchlauf, durch eine zusätzliche Abfrage, sehe ich das richtig?
Danke und viele Grüße
Christoph

AW: OptionButton nicht in Click-Anweisung
17.03.2021 14:18:11
Daniel
Richtig.
In Userformen kann man die Ausführung der Eventmakros nicht per Einstellung verhindern.
Im Tabellenblatt geht das (Application.EnableEvents), bei Userformen nicht.
Hier kann man sich nur mit diesem Workaround behelfen, oder durch eine geschickter Event-Auswahl (z.B. MouseUp statt Click).
Gruß Daniel

Anzeige
AW: OptionButton nicht in Click-Anweisung
17.03.2021 12:26:17
Daniel
Hi
als erstes würde ich für die Sprachauswahl keine Optionbuttons verwenden, sondern eine List- oder Combobox.
das macht weniger Arbeit und ist leichter zu programmieren (ein Steuerelement, ein Makro, keine gegenseitger Aufruf von Eventmakros).
im Tabellenblatt würde ich das so machen, dass ich für jeden Text eine Zeile und für jede Sprache eine Spalte anlege.
Die Sprachen werden in der gleichen Reihenfolge angelegt wie in der List/Combobox vorgegeben.
für die anzeigten Texte verwende ich dann diese einfache Formel:
=Index(ÜbersetzungBlatt!$A:$Z;Zeile des Textes;Ergebnisnummer der SprauchauswahlListbox)
in der Userform wirst du um eine expizite programmierung nicht herum kommen.
hier könntet du das aber so machen:
hinterlege den anzuzeigenden Text in jeder Sprache mit Trennzeichen getrennt in der TAG-Eigenschaft. TAG = "Drücken|Press"
dann kannst du mit folgendem Code jedes Steuerelement bearabeiten.
dim crt as Control
for each crt in me.Controls
if crt.Tag like "*|*" then
crt.Caption = split(crt.Tag, "|")(ListboxSprachauswahl.ListIndex)
end if
next

dh hier hast du keine Tabelle, sondern hinterlegst die Beschriftung bei jedem Button individuell.
für Labels mit längerem text könnte man auch Multipageseiten erstellen, die das Label in der jeweiligen Sprache enthalten und dann einfach die zur Sprache passende Seite aufschlagen.
Gruß Daniel

Anzeige
AW: OptionButton nicht in Click-Anweisung
17.03.2021 12:41:04
Christoph
Hallo Daniel,
danke für den Tipp, das schau ich mir mal genauer an.
Viele Grüße
Christoph

AW: OptionButton nicht in Click-Anweisung
17.03.2021 12:45:06
Nepumuk
Hallo Christoph,
Rudis Ansatz ist Ok. Ich würde die jeweilige Sprache in eine separate Spalte kopieren. Dann kannst du im Userform das z.B. so auswerten: Commandbutton1.Caption = Worksheets("Übersetzung").Cells(bestimmteZeile, Übersetzungsspalte).Value. Und in der Tabelle einfach so: =Übersetzung!C1 Wobei die Spalte C die Spalte ist in welche du bei Auswahl der Sprache im Userform die entsprechenden Werte kopierst.
Gruß
Nepumuk

82 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige