Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

per Click auf eine bestimmte Prozedur zugreifen | Herbers Excel-Forum


Betrifft: per Click auf eine bestimmte Prozedur zugreifen von: Erwin
Geschrieben am: 31.01.2010 18:35:53

Hallo Experten,
ich habe mir für unsere Tippgemeinschaft (3Personen) ein Programm erstellt, in dem jeder seinen _
Tipp und Torschützen eingeben kann. Diese werden dann mit den anderen Eingaben abgeglichen und _ nur dann akzeptiert, wenn sie nicht zweimal vorkommen. Anschließend werden die Eingaben mit weißer Schrift unsichtbar gemacht und per Gültigkeit gesperrt. Die Adresszeile wird beim Starten ausgeblendet. Funktioniert mit folgendem Code einwandfrei:


Sub datenabgleich_mane()
If Range("k11") = Range("k12") Or Range("k11") = Range("k13") Then
    MsgBox "Sorry, diesen Tipp gibt es bereits", vbCritical, "Überprüfe Tipp von Mane..."
    Range("c11", "d11").ClearContents
    Range("c11").Select
Else
    MsgBox "Tipp ist OK!!", vbInformation, "Überprüfe Tipp von Mane..."
End If
If Range("f11") = Range("f12") Or Range("f11") = Range("f13") Then
    MsgBox "... der Torschütze ist leider schon vergeben", vbCritical, "Sorry Mane..."
    Range("f11").ClearContents
Else
    MsgBox "Mane, Torschütze ist voll korrekt!!", vbInformation, "Gut gewählt..."
        If Range("C11").Value = "" Then
        Range("C11").Select
        End If
End If
If Range("c11") <> "" And Range("d11") <> "" And Range("f11") <> "" Then
    Range("c11:f11").Select
    Selection.Font.ColorIndex = 2
    Range("j11").Value = "ok"
End If

End Sub

Diesen Code habe ich dreimal für jeden Tipper geschrieben (


Sub datenabgleich_mane(), 


Sub datenabgleich_gerd(), 


Sub datenabgleich_erwin()) und  jeder hat eine eigene Schaltfläche um nach der letzten Eingabe   _
 _
_
den Abgleich starten zu lassen.

Jetzt meine Frage: Kann ich hierfür auch nur eine einzige Schaltfläche benutzen? Also, wenn der  _
 _
 _
letzte Eintrag in f11 ist, dann starte 


Sub datenabgleich_mane(), wenn er in f12 ist, starte 


Sub datenabgleich_gerd() und f13 


Sub datenabgleich_erwin(). 
Habe schon einiges probiert, aber irgendwie klappt es nicht.

Vielleich hat jemand eine einfach Lösung, wäre super

Danke im voraus
Erwin


  

Betrifft: AW: per Click auf eine bestimmte Prozedur zugreifen von: Beverly
Geschrieben am: 01.02.2010 09:27:32

Hi Erwin,

überprüfe im worksheet_Change Ereignis des Tabellenblattes, in welcher Zelle der Eintrag erfolgt ist

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        Select Case Target.Address
            Case "$F$11"
                datenabgleich_mane
            Case "$F$12"
                datenabgleich_gerd
            Case "$F$12"
                datenabgleich_erwin
        End Select
    End If
End Sub

GrußformelBeverly's Excel - Inn


  

Betrifft: AW: per Click auf eine bestimmte Prozedur zugreifen von: Erwin
Geschrieben am: 01.02.2010 15:03:43

Hallo Karin,

vielen Dank für Deine Antwort, funktioniert einwandfrei!!

Tschau
Erwin


Beiträge aus den Excel-Beispielen zum Thema "per Click auf eine bestimmte Prozedur zugreifen"