Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If case Schalter 1oder2 inUserform gedrückt dann BildAoderB

Forumthread: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB

If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
11.09.2024 19:16:56
RoWaLo
Hallo liebe Forenmitglieder - mein Vorhaben ist für euch wahrscheinlich nur ein Kinderspiel
ich bin in VBA aber leider nur ein Laie.

Ich habe eine Excel Datei “Test.xlsm“ in der ich schon mal vorbereitend
eine Userform1 gebastelt habe, mit Text und 3 Schaltflächen.

Ich möchte jetzt folgendes verwirklichen
Wird die Excel Datei geöffnet, dann soll automatisch die Userform 1 angezeigt werden
Bei Klick auf „Commandbotton1“ soll eine Bilddatei_A.jpg geöffnet werden
und die Userform1 geschlossen werden
Bei Klick auf „Commandbotton2“ soll eine Bilddatei_B.jpg geöffnet werden
und die Userform1 geschlossen werden
Bei Klick auf „Commandbotton3“ soll die Userform1 geschlossen werden und
............................................................................................... die ExcelDatei geschlossen werden.
Ich habe mal angefangen wie folgt:

Private Sub Workbook_Open()
Dim DateiA As String
Dim DateiB As String
Dim PfadDateienAundB As String
DateiA = Bilddatei_A.jpg
DateiB = Bilddatei_B.jpg
Userform1 .show

………………………………….Wie löse ich jetzt die Abfrage?

select case Commandbotton1
Case = Commandbotton1.click
Userform1.hide ‘…………………………………………….oder Userform1.close?
PfadDateienAundB = E:/Test & DateiA '................................................................. Pfad und DateiA
FollowHyperlink PfadDateienAundB '........................................................................Anzeigen BilddateiA
End select

select case Commandbotton2
case Commandbotton2.click
Userform1.hide ‘…………………………………………….oder Userform1.close?
PfadDateienAundB = E:/Test & DateiB '................................................................... Pfad und DateiB
FollowHyperlink PfadDateienAundB '........................................................................Anzeigen BilddateiB
End select

select case Commandbotton3
case Commandbotton2.click
Userform1.hide ‘…………………………………………….oder Userform1.close?
ThisWorkbook.Close '.............................................. Schließen der Excel Datei
End select

End Sub

Was muss ich hier ändern oder was ist eine bessere Lösung?
Danke für alle hilfreichen Antworten.
MfG RoWaLo
Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
11.09.2024 20:08:55
Eifeljoi 5
Hallo

Hier ein ungetesteter Vorschlag wie eventuell aussehen könnte, aber ich sehe noch nicht den sinn und zweck für sowas.
Private Sub Workbook_Open()

Dim DateiA As String
Dim DateiB As String
Dim PfadDateienAundB As String

DateiA = "Bilddatei_A.jpg"
DateiB = "Bilddatei_B.jpg"

UserForm1.Show
End Sub

Private Sub CommandButton_Click(Index As Integer)
Dim DateiA As String
Dim DateiB As String
Dim PfadDateienAundB As String

DateiA = "Bilddatei_A.jpg"
DateiB = "Bilddatei_B.jpg"

Select Case Index
Case 1
UserForm1.Hide
PfadDateienAundB = "E:/Test/" & DateiA
FollowHyperlink PfadDateienAundB
Case 2
UserForm1.Hide
PfadDateienAundB = "E:/Test/" & DateiB
FollowHyperlink PfadDateienAundB
Case 3
UserForm1.Hide
ThisWorkbook.Close
End Select
End Sub
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
11.09.2024 21:08:05
RoWaLo
Hallo Eifeljoi 5
Danke für deine Hilfe, ich habe deine Antwort als hervorragend bewertet.
Deine Frage ist mir schon klar, das man ohne weitere Infos den Sinn nicht versteht.
Also ganz kurz.
Es geht um einen Wissenstest in der Excel Datei und auf den Bilder sind hilfreiche Infos zu sehen 1x leicht u 1x schwer.
Danke nochmals Viele Grüße RoWaLo
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 08:25:27
RoWaLo
Hallo Eifeljoi 5,
Weil ich nach einem ersten schnellen Blick auf deinen Code dachte, der würde fuktionieren und das gewünschte
Ergebnis bringen, habe ich ihn erst jetzt getestet und festgestellt das der Code so nicht funktioniert.
Ich war ich zu schnell mit meiner Antwort. Ich möchte den Thread noch mal als offen erklären? Leider stimmt irgendwas nicht.
Ich habe meinen Code nicht ausprobiert, weil ich, - wie gesagt - nur ein VBA Laie bin und noch in der Lernphase.
Kannst du mir bitte sagen was an dem Code von mir falsch wäre und warum er nicht laufen würde?

Meine Fragen zu deinem Code:
die Procedur
Private Sub Workbook_Open() ist die Procedur die beim Öffnen der Excel Datei automatisch gestartet wird
und sofort die userform1 mit den 3 Schaltflächen (Cmmandbuttons1 -3) aufruft.

Müssen hier eigentlich schon die nächsten 5 Code-Zeilen stehen wenn die Deklarationen erst in der
zweiten Sub gebraucht werden? Oder können die hier gestrichen werden?

Dein Code zeigt anschließend eine 2. Procedure …………..muss die nicht in der ersten Sub integriert sein?
oder muss die zweite nicht in der ersten aufgerufen werden?

Private Sub CommandButton_Click(Index As Integer) …….= An der Stelle wird ein Syntaxfehler gemeldet

Kannst du mir bitte die Syntax erklären insbesondere wie sich das mit dem Index verhält?
Muss “Index as Integer“ nicht vorher mit “Dim Index as Integer“ in einer eigenen Zeile stehen und dann
bei Click nur -.Click(index)? …… Wie gesagt ich bin nur Laie und kennen mich nicht aus.
Kann man die Deklaration von Index wie in deinem Code direkt hinter Click in die Klammern schreiben?

Muss ich das so verstehen?
Wird beim Klick auf den -
CommandButton1 irgendwo eine “1“ und
CommandButton2 irgendwo eine “2“ und
CommandButton3 irgendwo eine “3“. hinterlegt --- auf die kann ich dann mit Index zugreifenkann?

Wie wird die Userform wirklich geschlossen? Schließt der Befehl Userform1.hide die Userform1 oder ist sie nur nicht mehr zu sehen aber weiterhin offen.
Muss ich die Userform nicht mit --- Unload (Userform1) -- oder mit -- unload Me -- arbeiten? Wenn ja wie?

Beim Zuweisen vom Pfad zu der Variablen ist mir aufgefallen das ich “/“ verwendet habe und nicht “\“
Du hast dann wahrscheinlich nur kopiert und so stehen dort auch “/“

Danke schon jetzt für deine Mühe und deine Antwort.
VG Roman
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 09:53:25
volti
Hallo,

teste mal den u.a. Code. Ist allerdings von mir ungetestet...

Es ist sinnlos, in der Open-Sub Variablen zu definieren, die nur in dieser Sub gültig sind und nicht verwendet werden.
Es ist m.E. ebenfalls wenig sinnvoll, Variablen zu definieren und zu befüllen, die direkt danach nur ein einziges Mal verwendet werden. Deshalb gleich den Dateinamen übergeben.
Für den Pfad habe ich eine Konstante angelegt, die man schnell ändern kann und das dann überall wirkt.

In Userforms sollte m.E. immer die entsprechende Element-Sub verwendet werden. Fällt umfangreicher gleicher oder sehr ähnlicher Code für viele Buttons an, kann man den Code einmalig in einer weiteren Sub vorhalten udn diese dann aus den einzelnen Elementsubs aufrufen.

Code:


' In DieseArbeitsmappe Private Sub Workbook_Open() UserForm1.Show End Sub ' Ins Modul der Userform Private Const csPfad As String = "E:\Test\" Private Sub CommandButton1_Click() Unload Me ' Userform schließen FollowHyperlink csPfad & "Bilddatei_A.jpg" End Sub Private Sub CommandButton2_Click() Unload Me ' Userform schließen FollowHyperlink csPfad & "Bilddatei_B.jpg" End Sub Private Sub CommandButton3_Click() Unload Me ' Userform schließen End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 12:00:12
volti
Hallo RoWaLo,

Wie wird die Userform wirklich geschlossen? Schließt der Befehl Userform1.hide die Userform1 oder ist sie nur nicht mehr zu sehen aber weiterhin offen.
Muss ich die Userform nicht mit --- Unload (Userform1) -- oder mit -- unload Me -- arbeiten? Wenn ja wie?


Ja, Du hast Recht Userform1.hide macht die UF lediglich unsichtbar, alle Variablen bleiben geladen.

Unload Me schließt die UF, alle Variablen der UF werden gelöscht.

Ist hier in Deinem Fall "Wurscht" was Du nimmst.

Gruß KH
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 17:19:39
RoWaLo
Hallo Karl Heinz
Hier der Code von mir den ich in dem Bild mit deinem Code verglichen habe verbunden mit der Frage was man sich da noch sparen kann bzw. was nur 1x statt 2x da stehen muss oder wie man sich dei Variablen sparen kann etc. Du bist der Experte, ich der Laie.
Danke wenn du noch Zeit für einen Letzten Kommentar zu dem Thread hast und Mir mit deinem Wissen noch mal helfen kannst
Danke für deine Mühe
Beste Grüße Roman
Dim Datei As String

Dim PfadDatei As String
'Dim csPfad As String
'Private Const csPfad As String = "E:\Temporär\Test\"

Private Sub CommandButton1_Click()
Unload Me ' Userform schließen
With ThisWorkbook
'Datei = Left(.Name, Len(.Name) - 10) & " 1 _ .jpg"
Datei = "die 16 Landes-Haupt-Städte deut BL 1 _ .jpg"
PfadDatei = .Path & "\" & Datei
'csPfad = "E:\Temporär\Test"
If Dir(PfadDatei) > "" Then
.FollowHyperlink PfadDatei ‘Bilddaei öffnen
End If
End With
End Sub

Private Sub CommandButton2_Click()
Unload Me ' Userform schließen
With ThisWorkbook
'Datei = Left(.Name, Len(.Name) - 10) & " 2 _ .jpg"
Datei = "die 16 Landes-Haupt-Städte deut BL 2 _ .jpg"
PfadDatei = .Path & "\" & Datei
'csPfad = "E:\Temporär\Test"
If Dir(PfadDatei) > "" Then
.FollowHyperlink PfadDatei ‘Bilddaei öffnen
End If
End With
End Sub

Private Sub CommandButton3_Click()
Unload Me ' Userform schließen
ThisWorkbook.Close ' Datei schließen
End Sub
Anzeige
Warum bekomme ich die Benachrichtigungen zu Antw. alle 2x
12.09.2024 17:30:12
RoWaLo
Hallo nochmal
Ich bekomme zu allen Antworten von denMitgliedern dieses Forums immer 2 die gleichen Benachrichtigungen?
Kann irgendwer mir sagen wie man das abstellen kann ich brauche nur 1 Benachrichtigung!
Danke für Hilfe.
Grüße Roman
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 18:09:46
volti
Hallo Roman,

so kannst Du es machen...

Code:


Private Sub CommandButton1_Click() Call LadeBild("die 16 Landes-Haupt-Städte deut BL 1 _ .jpg") End Sub Private Sub CommandButton2_Click() Call LadeBild("die 16 Landes-Haupt-Städte deut BL 2 _ .jpg") End Sub Private Sub CommandButton3_Click() Unload Me ' Userform schließen ThisWorkbook.Close ' Datei schließen End Sub Private Sub LadeBild(sDatei As String) Dim sPfadDatei As String Unload Me ' Userform schließen With ThisWorkbook sPfadDatei = .Path & "\" & sDatei If Dir(sPfadDatei) <> "" Then ' Bilddatei im Ordner der Exceldatei? .FollowHyperlink sPfadDatei ' Bilddatei öffnen Else sPfadDatei = "E:\Temporär\Test\" & sDatei If Dir(sPfadDatei) <> "" Then ' Bilddatei im Alternativordner? sPfadDatei = "E:\Temporär\Test\" & sDatei .FollowHyperlink sPfadDatei ' Bilddatei öffnen Else MsgBox "Datei '" & sDatei & "' wurde nicht gefunden!", vbExclamation, "Quiz" End If End If End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
13.09.2024 10:18:17
RoWaLo
Hallo Karl Heinz
Ja v i e l e n - v i e l e n Dank für deine Mühe und den Code,
Da sieht man mal wieder den Unterschied zwischen einem coolen Experten😎 der sich auskennt und einem Laien (Greenhorn) wie mich🤔.
Es hat mich echt gefreut von dir so geholfen zu werden, merci vielmals.
Super da muss ich gleich wieder einen Orden erster Klasse verteilen plus Pokal für die Vitriene. 🥇🏆
An Alle Leser
Den Mann hier kann man nur weiterempfehlen!!!
Gruß Roman
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
16.09.2024 17:07:02
RoWaLo
Hallo Karl Heinz
Entschuldigung ich bin es noch mal. Ich habe hier indem Thread mit einer Test Datei getestet. War ja auch erfolgreich.
Jetzt bin ich zu den "echten" Dateien gewechselt und habe nun echte Tests durchgeführt und festgestellt, dass zwar einiges läuft, aber das
jetzt doch noch Probleme aufgetreten sind.
Ich habe dazu einen Neuen Thread mit Code aufgemacht der heißt:
Wo liegt der Fehler im Code zum UserForm schließen
Es würde mich wirklich sehr freuen wenn du da noch mal hinschauen kannst und die Fragen lesen kannst. Die Antwort von dem anderen Antworter hat mir nicht so geholfen.
Zusätzlich hätte ich noch die Frage ob der ganze Code in der Arbeitsmappe stehen muss oder ob gewisse Code (Anteile) im UserForm1 oder UserForm2 stehen muss,
Das wichtigste ist: an welcher Stelle muss der Code für das Schließen der Userform2 stehen und in welcher Weise Unload Me oder Unload Userform oder Unload Userform2, weil wie du lesen wirst, sich die UserForm2 nicht wie gewünscht nach dem Drücken einer der CommandButtons schließt sondern nur über das X. oben rechts.
Es wäre echt toll wenn du nochmal helfen könntest.
Vorab schon mal Danke Beste Grüße Roman
Anzeige
FollowHyperlink führt zu Fehler beim Kompilieren
17.09.2024 11:37:33
RoWaLo
Hallo Karl Heinz
ich bin einen Schritt weiter und habe das Problem einen Beitrag zuvor gelöst.
Ich hate fäschlicherweise den Code in "diese Arbeitsmappe" kopiert und nicht in die Userform2 .... Jetzt steht der Code dort und ist in der Arbeitsmappe gelöscht.
Die userform2 wird mir jetzt auch angezeigt aber nach dem Drücken z. B. des commandButtons1 passiert nicht das gewünschte Öffnen der Bild Datei,
stattdessen erhalte eine eine Fehlermeldung s. Bild
Ich habe an der Stelle ein Problem mit der Syntax beim Aufrufen eines Hyperlinks und weiß nicht wie es richtig lauten muss.
Wie aus dem Code / Screenshot ersichtlich versuche ich, dass der Hyperlink mittels einer zuvor an die Variable „PfadDatei“ übergebene Info zum Pfad plus Dateinamen eine Bilddatei aufzurufen die den gleichen Namen wie die benutzte Excel Datei hat -- bis auf ein verändertes Ende “ 1 _ .jpg“
Die Veränderung des Namens plus Übernahme in Variable "Datei" -----funktioniert, habe ich mit MsgBox getestet.
Die Übernahme vom Pfad der Excel Datei ----- in Variable "PfadDatei" funktioniert, habe ich mit MsgBox getestet.
In einer Prozedur vorher wird der Variablen “Datei“ der entsprechend veränderte Datei Namen der Excel Datei
übergeben. Und durch die Call LadeBild(Datei) Anweisung (also mit der Variable) sollte doch eigentlich diese in der Sub LadeBild mit übergeben werden.

In der Sub LadeBild tritt allerdings nach dem Prüfen mit -- If Dir(PfadDatei) > "" -- ob die Datei in dem Ordner existiert
im Fall von Ja …. Then … bei der Anweisung .FollowHyperlink ein Kompilierungs-Fehler auf. s. Bild
Was muss ich an der Stelle anders machen dami die Bild Datei aufgerufen / angezeigt wird.?

Danke für deine Hilfe oder die Hilfe von einem anderen Leser..
VG Roman
Userbild

Private Sub CommandButton1_Click()

'Dim Datei As String

Datei = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 10) & " 1 _ .jpg"

Call LadeBild(Datei)
End Sub


Private Sub LadeBild(Wert As String)
Dim PfadDatei As String

Unload Me ' Userform schließen

PfadDatei = ThisWorkbook.Path & "\" & Wert
If Dir(PfadDatei) > "" Then ' Bilddatei im Ordner der Exceldatei?
.FollowHyperlink PfadDatei ' Bilddatei öffnen
Else
PfadDatei = "E:\Temporär\Test\" & Wert
If Dir(Wert) > "" Then ' Bilddatei im Alternativordner?
PfadDatei = "E:\Temporär\Test\" & Datei
.FollowHyperlink PfadDatei ' Bilddatei öffnen
Else
MsgBox "Die ausgewählte Datei " & Wert & " " & Chr(13) & _
" existiert nicht im Ordner dieser Excel Datei", vbCritical, "Quiz"
End If
End If
End With
End Sub

Anzeige
AW: FollowHyperlink führt zu Fehler beim Kompilieren
17.09.2024 13:26:43
Eifeljoi 5
Hallo

ungetestet vielleicht so:
Private Sub CommandButton1_Click()

Dim Datei As String
Datei = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 10) & "_1.jpg"
Call LadeBild(Datei)
End Sub

Private Sub LadeBild(Wert As String)
Dim PfadDatei As String
PfadDatei = ThisWorkbook.Path & "\" & Wert
If Dir(PfadDatei) > "" Then
ThisWorkbook.FollowHyperlink PfadDatei
Else
PfadDatei = "E:\Temporär\Test\" & Wert
If Dir(PfadDatei) > "" Then
ThisWorkbook.FollowHyperlink PfadDatei
Else
MsgBox "Die ausgewählte Datei " & Wert & " existiert nicht im Ordner dieser Excel Datei", vbCritical, "Quiz"
End If
End If
End Sub
Anzeige
AW: FollowHyperlink führt zu Fehler beim Kompilieren
17.09.2024 16:01:44
volti
Hallo Roman,

ohne jetzt den Code genauer nachvollzogen zu haben....

Im Ursprungscode hatte ich den Code in einer With ThisWorkbook Klausel eingeschlossen.
D.H. innerhalb dieser Klausel beziehen sich alle mit einem Punkt beginnende Anweisungen auf dieses Thisworkbook.

Wenn Du die Klausel wegmachst, aber nicht die mit einem Punkt beginnenden Anweisungen bearbeitest, dann kracht es halt.

Die Lösung hast Du ja schon von Eifeljoi bekommen.

Gruß KH
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 09:56:34
volti
Ergänzung:
Private Sub CommandButton3_Click()

Unload Me ' Userform schließen
ThisWorkbook.Close ' Datei schließen
End Sub


Gruß KH
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 11:00:02
RoWaLo
Hallo Karl Heinz, Grüß dich
Danke für deine Antwort und den code.
Bevor ich den ausprobiere habe ich noch eine Frage.
Du schreibst .... ins modul der userform ....

Also das Öffnen der userform1 steht in DieseArbeitsmappe
Muss ich den Code jetzt direkt unter Formulare / Userform1 eintragen ? da ist aber doch nur die "Fläche mit meinen Buttons"
wie gebe ich da Code ein?
oder meinst du ich muss oben im Menü über das kleine Kastel ein Modul hinzufügen und den Code dann dort eintragen ?
Ich weiß ich muss noch viel lernen, sorry!
Danke trotzdem für deine Hilfe.
Viele Grüße Roman
Userbild

Nur aus Interesse
Das mit den code vom Eifeljoi 5 ginge das auch irgendwie ? bzw. wo ist bei der Syntax der Fehler?
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 15:06:20
RoWaLo
Hallo Karl Heinz
Also mal als Erstes -- Erfolgsmeldung – es läuft bei mir wie gewünscht!! Juchhuuuu 😁
Ich habe mit deinem Code noch ein bisschen herum experimentiert ,weil leider irgendwo noch etwas hakte.
Du hast mir ja vor kurzem schon mal super geholfen und aus dem Code habe ich etwas übernommen und wie gesagt jetzt funktioniert es.
Ich habe aber trotzdem eine Nachfrage.
Ich habe einen Screenshot von einem Word Doc (Quer) gemacht wo ich mal den Code den du mir geschickt hast auf der einen Seite gestellt und auf der anderen Seite den Code der bei mir jetzt läuft.
Ich habe jetzt doch noch mal Variablen benutzt von denen du ja sagst, dass man sie nicht braucht, weil man es auch anders schreiben kann. Aber damit kenne ich mich noch nicht so aus.
Kannst du dir das nochmal anschauen und mir mir sagen, was ich von dem Code einfacher schreiben kann und wie?
----- und was von dem Code der unter
Private Sub CommandButton1_Click() --- und --- Private Sub CommandButton2_Click() ---- quasi doppelt vor kommt
wirklich so erhalten bleiben muss (= 2x) oder was ich vor die beiden Subs zusammenfassen / schreiben kann oder obich es überhaupt brauche.
Wie du sehen kannst, habe ich die code Zeilen mit dem „With ThisWorkbook“ noch mal benutzt aber eben 2x, geht das auch in 1x?
und ich habe, damit der FollowHyperlink funktioniert die “If“ Abfrage vorgeschaltet um zu prüfen, ob die Bilddateien in demselben Ordner liegen wie die Arbeitsmappe und ich habe vor dem FollowHyperlink noch einen Punkt gesetzt.
So funktioniert es, aber mit der Syntax der Befehle habe ich noch richtig Probleme, weil ich nicht weiß was wann wie benötigt wird an Klammern, Anführungszeichen, verbunden mit Unterstrich, Punkt etc. Ich würde lieber wissen wie was zu tun ist und es nicht nur durch rumprobieren zufällig rausfinden. Ich bin schon mal froh das es bei mir läuft aber ich weiß, es geht bestimmt einfacher.🤔
Jetzt siehst du meinen Code nur auf dem Bild, soll ich den noch mal anders schicken.
Die Test Excel Datei hatte jetzt nicht den passenden Namen zu den Bilddateien. Bei der richtigen Benutzung hat die Excel Datei dann ja den gleichen Namen wie die Bild Dateien die sich nur durch den Dateityp und eine 1 bzw. 2 am Namensende unterscheiden. Für die richtige Benutzung habe ich dann schon mal den Code in Grün vorbereitet
Dank schon mal vorab für deine Hilfe
Mit besten Grüßen Roman
Userbild
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 15:33:02
volti
Hallo Roman,

mit dem Bild kann man nicht arbeiten. Kann ich auch nicht richtig lesen.


Du kannst das in einer Sub zusammenfassen und aus den beiden Click-Subs aufrufen. In etwa so..

Private Sub CommandButton1_Click()

Call LadeBild("Meine Hauptstädte2...")
End Sub

Private Sub CommandButton2_Click()
Call LadeBild("Meine Hauptstädte1...")
End Sub

Sub LadeBild(sDatei As String)
Unload Me
with Thisworkbook...
...

End Sub


Gruß KH
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 11:36:12
volti
Ja, genau da rein und kein neues Modul einfügen.

Allerdings "RechtsClick - Code anzeigen" klicken, dann kommst Du in den Code-Bereich. und dort einfach einfügen...

Und nein, Eifeljoi's Code funktioniert nur dann, wenn die Sub von irgendwo mit Übergabe des Index aufgerufen wird.
Das sehe ich allerdings nicht, wie das gehen soll. Das Steuerelement selbst triggert nur z.B. CommandButton1_Click


Gruß
KH
Anzeige
AW: If case Schalter 1oder2 inUserform gedrückt dann BildAoderB
12.09.2024 11:47:19
volti
Hier zu Lernzwecken mal eine andere Version ähnlich Eifeljoi.

Kannst Du ja auch mal testen, bringt aber in Deinem Fall m.E. nicht viel

Code:


Private Const csPfad As String = "E:\Test\" Private Sub CommandButton1_Click() Call CommandButton_Click(1) End Sub Private Sub CommandButton2_Click() Call CommandButton_Click(2) End Sub Private Sub CommandButton3_Click() Call CommandButton_Click(3) End Sub Private Sub CommandButton_Click(Index As Integer) UserForm1.Hide Select Case Index Case 1 FollowHyperlink csPfad & "Bilddatei_A.jpg" Case 2 FollowHyperlink csPfad & "Bilddatei_B.jpg" Case 3 ThisWorkbook.Close End Select End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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