Microsoft Excel

Herbers Excel/VBA-Archiv

2 DeinMsg As Object im gl. Tabellenblatt

Betrifft: 2 DeinMsg As Object im gl. Tabellenblatt von: Nils
Geschrieben am: 20.09.2020 16:18:17

Hallo zusammen,

ich bin schon mehreren Stunden auf der Suche.

Ich würde gern diese beiden Codes im gleichen Tabellenblatt verwenden. Jedoch habe ich noch kein Lösung gefunden, um die Mehrfachdeklaration zu vermeiden.

Hätte Ihr ein Lösung für mich, bitte?

Sub Worksheet_Change(ByVal Target As Range)

    
    If Not Intersect(Target, Range("B37")) Is Nothing Then
        Range("E72").Select
        Range("E72").ClearContents
        Dim DeinMsg As Object, sec_
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Wert in Zelle B49 eintragen!", sec_, _
                        "Wert", 32

    If Not Intersect(Target, Range("B37")) Is Nothing Then
        Range("E72").Select
        Range("E72").ClearContents
        Dim DeinMsg As Object, sec_
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Wert in Zelle B49 eintragen!", sec_, _
                        "Wert", 32
    End If
    
End Sub
Was kann ich da tun?

Gruß Nils

Betrifft: AW: 2 DeinMsg As Object im gl. Tabellenblatt
von: Hajo_Zi
Geschrieben am: 20.09.2020 16:26:44

Hallo Nils,

Du brauchst es nur einmal, da immer B37 geprüft wird.
Option Explicit

Sub Worksheet_Change(ByVal Target As Range)
    Dim DeinMsg As Object, sec_
    If Not Intersect(Target, Range("B37")) Is Nothing Then
        Range("E72").ClearContents
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Wert in Zelle B49 eintragen!", sec_, _
            "Wert", 32
    End If
End Sub
GrußformelHomepage

Betrifft: AW: 2 DeinMsg As Object im gl. Tabellenblatt
von: Nils
Geschrieben am: 20.09.2020 16:47:02

Hi Hajo, bitte entschuldige ich habe das falsche Problem gesendet.

Die erste Prüfung soll auf B23 und die zweite auf B37 durchgeführt werden.

If Not Intersect(Target, Range("B37")) Is Nothing Then
Range("E72").ClearContents
Dim DeinMsg As Object, sec_
sec_ = 5
Set DeinMsg = CreateObject("WScript.Shell")
DeinMsg.Popup "Bitte Preis in Zelle E72 eintragen!", sec_, _
"Preis", 32
End If

If Not Intersect(Target, Range("B23")) Is Nothing Then
Range("B49").ClearContents
Dim DeinMsg As Object, sec_
sec_ = 5
Set DeinMsg = CreateObject("WScript.Shell")
DeinMsg.Popup "Bitte Preis in Zelle B49 eintragen!", sec_, _
"Preis", 32
End If

Danke schon mal für die schnelle Info. :)

Gruß Nils

Betrifft: AW: 2 DeinMsg As Object im gl. Tabellenblatt
von: Hajo_Zi
Geschrieben am: 20.09.2020 16:50:06

Hallo Nils,
Option Explicit

Sub Worksheet_Change(ByVal Target As Range)
    Dim DeinMsg As Object, sec_
    If Not Intersect(Target, Range("B37")) Is Nothing Then
        Range("E72").ClearContents
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Preis in Zelle E72 eintragen!", sec_, _
            "Preis", 32
    ElseIf Not Intersect(Target, Range("B23")) Is Nothing Then
        Range("B49").ClearContents
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Preis in Zelle B49 eintragen!", sec_, _
            "Preis", 32
    End If
End Sub
Gruß Hajo

Betrifft: AW: 2 DeinMsg As Object im gl. Tabellenblatt
von: Nils
Geschrieben am: 20.09.2020 17:28:24

Hallo Hajo,

es funktioniert natürlich MEGA, ich bin begeistert.

Vielen Dank! :D

Wie könnte es jetzt noch aussehen, wenn ich noch diese Bedingung, B37 größer 0, hinzufügen will?

Gruß Nils :)

Betrifft: AW: 2 DeinMsg As Object im gl. Tabellenblatt
von: Hajo_Zi
Geschrieben am: 20.09.2020 17:31:32

Hallo Nils,
Option Explicit

Sub Worksheet_Change(ByVal Target As Range)
    Dim DeinMsg As Object, sec_
    If Not Intersect(Target, Range("B37")) Is Nothing And Range("B37") > 0 Then
        Range("E72").ClearContents
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Preis in Zelle E72 eintragen!", sec_, _
            "Preis", 32
    ElseIf Not Intersect(Target, Range("B23")) Is Nothing Then
        Range("B49").ClearContents
        sec_ = 5
        Set DeinMsg = CreateObject("WScript.Shell")
        DeinMsg.Popup "Bitte Preis in Zelle B49 eintragen!", sec_, _
            "Preis", 32
    End If
End Sub
Gruß Hajo

Betrifft: AW: 2 DeinMsg As Object im gl. Tabellenblatt
von: Nils
Geschrieben am: 20.09.2020 17:52:20

Hallo Hajo,

ich Danke Dir und wünsche Dir einen schönen Sonntag.

Gruß Nils

Beiträge aus dem Excel-Forum zum Thema "2 DeinMsg As Object im gl. Tabellenblatt"