Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1616to1620
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
PopUp Fenster bei bestimmtem Wert
24.03.2018 12:19:59
Thomas
Hallo Zusammen,
würde gerne in VBA ein Macro bzw Worksheet haben, das ausgeführt wird, wenn ein bestimmter Wert in einer DropDown-Liste ausgewählt wird.
Sobald der Wert ausgewählt wird , sollte ein PopUp Fenster mit einer Information aufgehen.
Habe hier schon was gefunden aber habe Probleme es für mich anzupassen.
habe zwei Werte die Ausgewählt werden können ( X51 & X52 ) bei beiden müssen Fenster mit unterschiedlichem Inhalt aufgehen. Info Inhalt anpassen ist kein Prob. aber sobald ich die anpassen will in X51 bekomme ich eine Fehlermeldung.
Kann mir da jemand weiterhelfen :-)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
If Target.Count = 1 And Target = 1 Then
MsgBox "Du hast Derivat X gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
End If
End If
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 12:22:29
Hajo_Zi
If Target.Count = 1 And Target = 1 and Target ="X51"Then
MsgBox "Du hast Derivat X51 gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
elseIf Target.Count = 1 And Target = 1 and Target ="X52"Then
MsgBox "Du hast X52 gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
End If

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 12:52:01
Thomas
Danke für die schnelle Antwort bekomme aber eine Fehlermeldung:
Fehler beim Kompilieren.:
"End If" ohne If-Block.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target = 1 And Target = "X51" Then
MsgBox "Du hast Derivat X51 gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
ElseIf Target.Count = 1 And Target = 1 And Target = "X52" Then
MsgBox "Du hast X52 gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
End If
End If
End Sub

Anzeige
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 12:54:47
Hajo_Zi
man sollte mit Einrückungen arbeiten, da fällt auf das das End If am Ende Zu viel ist. Das war bei mir nicht.
Gruß Hajo
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 13:10:36
Thomas
Hab´s jetzt genauso noch mal anpasst..bekomms aber irgendwie net hin, bekomme immer die gleiche Fehlermeldung
:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
If Target.Count = 1 And Target = 1 And Target = "X51" Then
MsgBox "Du hast Derivat X51 gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
ElseIf Target.Count = 1 And Target = 1 And Target = "X52" Then
MsgBox "Du hast X52 gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
End If
End Sub

Anzeige
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 13:24:49
Hajo_Zi
lösche "And Target = 1 "
Gruß Hajo
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 13:58:22
fcs
Hallo Thomas,
gestalte das Makro etwas übersichtlicher.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MsgText As String
If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
If Target.Count = 1 Then
Select Case Target.Value
Case "X51"
MsgText = "Du hast Derivat """ & Target.Value & """  gewählt!"
Case "X52"
MsgText = "Du hast Derivat """ & Target.Value & """  gewählt!"
Case Else
'do nothing
End Select
If MsgText  "" Then
MsgBox MsgText, vbInformation, "Hinweis für " & Application.UserName
End If
End If
End If
End Sub

oder wenn tatsächlich nur der Name des gewählten Derivats im sonst identischen Text angezeigt werden soll.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MsgText As String
If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
If Target.Count = 1 Then
Select Case Target.Value
Case "X51", "X52"
MsgBox "Du hast Derivat """ & Target.Value & """  gewählt!", _
vbInformation, "Hinweis für " & Application.UserName
Case Else
'do nothing
End Select
End If
End If
End Sub

Anzeige
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 14:51:21
Thomas
Danke für die super Hilfe ..funktioniert super gut :-) genauso wollte ich das.
Besteht auch die Möglichkeit das PopUp Fenster farblich anzuzeigen z.b Case 1 in grün & case 2 in blau.
Die Schrift fett.
Das wäre dann noch das Highlight dazu ,
VG
Thomas
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 16:06:36
fcs
Hallo Thomas,
die VBA-MsgBox gibt leider nicht mehr her.
Dazu muss man sich ein kleines Userform erstellen, dessen Steuerelemente man manuell oder per Makro einstellen kann.
Beispiel-Datei:
https://www.herber.de/bbs/user/120654.xlsm
Gruß
Franz
Anzeige
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 17:21:56
Thomas
Genauso..die wäre völlig ausreichend für mich so.....
Hab noch keine große Erfahrung mit UserForm erstellen.. aber ich probiere mal..danke schon mal
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 18:25:30
Thomas
Habe die UserForm importier.. läuft super..wie kann ich die UserForm erweitern um eine Zelle.. würde da gerne nach gewählt noch eine neue Zelle haben mit dem Inhalt : Bitte in Box Nr.1 (bei der X51) und bei der andern Bitte in Box Nr.2 (bei der X52) stehen haben, in fetter Schrift..finde aber nirgends einen Button um die UserForm zu bearbeiten.
Dann wäre es perfekt :-)
Danke euch beiden für die super Hilfe , ihr habt mir schonmal super weitergeholfen
Anzeige
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 19:07:43
Thomas
Kann auf meinem Mac mit der 2016 Version leider die UserForm weder anzeigen noch bearbeiten..wäre super wenn du mir die Userform anpassen könntest.
Hinweis ist noch ein Schreibfehler drin :-)
AW: PopUp Fenster bei bestimmtem Wert
25.03.2018 11:41:27
Thomas
Hallo Zusammen, hab mir jetzt mal den Rechner vom Nachbarn besorgt mit Windows :-) und konnte die UserForm bearbeiten.Wenn ich jetzt für beide Derivate X51 &X52 eine separate UserForm habe( mit Bild) und die gerne bei Auswahl (Dropdown-Liste) auf popen sehen würde , wie kann ich das in dem Makro am besten um schreiben: Name UserForm 1 ( UF_Info_X51 ) & UserForm 2 ( UF_Info_X52) :
LG Thomas
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MsgText As String
If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
If Target.Count = 1 Then
With UF_Info
.txbUser = Application.UserName
With .txbDerivatName
Select Case Target.Value
Case "X51"
.Value = Target.Value
.BackColor = RGB(0, 255, 0)     'grün
.ForeColor = RGB(0, 0, 0)       'schwarz
Case "X52"
.Value = Target.Value
.BackColor = RGB(0, 0, 255)     'blau
.ForeColor = RGB(255, 255, 0)   'gelb
Case Else
'do nothing
End Select
End With
.Show
End With
End If
End If
End Sub

Anzeige
AW: PopUp Fenster bei bestimmtem Wert
25.03.2018 18:58:02
fcs
Hallo Thomas,
wenn du für jedes Derivat ein separates Userform erstellst, dann musst du nur noch den Usernamen in eine Textbox übergeben.
Falls die User in einem Netzwerk arbeiten, dann ist es ggf sinnvoll statt des Office Usernamens, der für die Anwendung lokal eingegeben wird, den Anmeldenamen für Windows anzuzeigen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MsgText As String
If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
If Target.Count = 1 Then
Select Case Target.Value
Case "X51"
With UF_Info_X51
.txbUser = Application.UserName
'                        .txbUser = VBA.Environ("Username") 'Windows-Anmeldename
.Show
End With
Case "X52"
With UF_Info_X52
.txbUser = Application.UserName
'                        .txbUser = VBA.Environ("Username") 'Windows-Anmeldename
.Show
End With
Case Else
'do nothing
End Select
End If
End If
End Sub
bezüglich Problemen auf dem Mac:
Prüfe mal im VBA-Editor ob für die Datei im VBA-Editor alle notwendigen Verweise gesetzt sind.
Unter Windows sieht es bei mir wie folgt aus:
Userbild
Die Versionen der Verweise können bezüglich der jeweiligen Versionen unterschiedlich sein.
Wenn du die Datei mal unter Windows, mal auf dem Mac öffnest/bearbeitest kann es sein, das du jeweils Anpssungen machen musst.
Gruß
Franz
Anzeige
AW: PopUp Fenster bei bestimmtem Wert
25.03.2018 20:27:03
Thomas
Alles nochmal angepasst und jetzt funzt alles so wie ich mir das gewünscht habe :-)...Auf diesem Weg nochmal ganz großes Lob an euch und herzlichen Dank für eure Hilfe, ihr seit super hier.
VG
Thomas
AW: PopUp Fenster bei bestimmtem Wert
24.03.2018 13:19:41
Nepumuk
Hallo Thomas,
teste mal:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("S14:S109")) Is Nothing Then
        If Target.Count = 1 Then
            If Target.Value = "X51" Then
                MsgBox "Du hast Derivat X51 gewählt!", vbInformation, "Hinweis für " & _
                    Application.UserName
            ElseIf Target.Value = "X52" Then
                MsgBox "Du hast Derivat X52 gewählt!", vbInformation, "Hinweis für " & _
                    Application.UserName
            End If
        End If
    End If
End Sub

Gruß
Nepumuk
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige