Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion aus mehrere Schaltflächen ausdehnen

Funktion aus mehrere Schaltflächen ausdehnen
21.01.2004 10:46:05
Glen
Hallo liebe Leute
Ich habe hier im Forum für mein Anliegen eine Super Lösung (von Chris) erhalten die einwandfrei funktioniert.
So läuft das Makro:
wenn die Schaltfläche3 gedrückt wird, erscheint nach 5 Sek. die MsgBox "Meldung_Anlieferung". Brauche ich auch so!
meine Frage ist nun:
ist es jetzt möglich diesen VBA-Code so abzuändern, dass wenn ich noch weitere Schaltflächen hinzufüge, jede Schaltfläche ihre individuelle MsgBox (also immer ihren eigenen Text) ausgibt?
Hier das Makro:
Option Explicit
Public Const gsMacro As String = "Meldung_Anlieferung"
Public gdNextTime As Double

Sub StartClock()
gdNextTime = Now + TimeValue("00:00:05")
Application.OnTime earliesttime:=gdNextTime, procedure:=gsMacro, schedule:=True
End Sub


Sub StopClock()
On Error Resume Next
Application.OnTime earliesttime:=gdNextTime, procedure:=gsMacro, schedule:=False
End Sub


Sub Schaltfläche3_BeiKlick()
Range("G8").Select
ActiveCell.FormulaR1C1 = "b"
Call StartClock
Range("I8").Select
Selection.ClearContents
Range("G8").Select
End Sub


Sub Meldung_Anlieferung()
MsgBox "Die Zeit der Anlieferung ist abgelaufen", vbExclamation, "GrL informieren"
End Sub


Sub Schaltfläche4_BeiKlick()
Call StopClock
Range("I8").Select
ActiveCell.FormulaR1C1 = "kb"
Range("G8").Select
Selection.ClearContents
Range("I8").Select
End Sub

Jetzt kommen die nächsten beiden Schaltflächen und die Schaltfläche4 sollte auch nach 5 Sek. eine eigene MsgBox ausgeben, nähmlich mit (WA1) anstelle von (Anlieferung).

Sub Schaltfläche4_BeiKlick()
Call StopClock
Range("I8").Select
ActiveCell.FormulaR1C1 = "kb"
Range("G8").Select
Selection.ClearContents
Range("I8").Select
End Sub


Sub Schaltfläche5_BeiKlick()
Range("G10").Select
ActiveCell.FormulaR1C1 = "b"
Call StartClock
Range("I10").Select
Selection.ClearContents
Range("G10").Select
End Sub


Sub Meldung_WA1()
MsgBox "Die Zeit der WA1 ist abgelaufen", vbExclamation, "GrL informieren"
End Sub

Danke schon mal im voraus für die Tipp's und Hilfe
Gruss Glen

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion aus mehrere Schaltflächen ausdehnen
21.01.2004 11:14:21
Alex K.
Hallo Glen,
die Sache ist im Grund ganz einfach. Du mußt deiner Start-Clock als Paramter den Namen der Prozedur mitgeben, welche aufgerufen werden soll.
Also ersetze die Prozedur "Start_Clock" durch folgende:

Sub StartClock(Proc As String)
gdNextTime = Now + TimeValue("00:00:05")
Application.OnTime earliesttime:=gdNextTime, procedure:=Proc, schedule:=True
End Sub

Und die Schaltfläche3_BeiKlick und Schaltfläche5_BeiKlick durch:

Sub Schaltfläche3_BeiKlick()
Range("G8").Select
ActiveCell.FormulaR1C1 = "b"
Call StartClock("Meldung_Auslieferung")
Range("I8").Select
Selection.ClearContents
Range("G8").Select
End Sub
Sub Schaltfläche5_BeiKlick()
Range("G10").Select
ActiveCell.FormulaR1C1 = "b"
Call StartClock("Meldung_WA1")
Range("I10").Select
Selection.ClearContents
Range("G10").Select
End Sub

Anzeige
Das ist es noch nicht ganz
21.01.2004 11:41:40
Glen
Hallo Alex
Danke erst mal! das ist es aber noch nicht ganz.
Was jetzt geht ist:
Es werden für "Anlieferung" und "WA1" eigene MsgBoxen angezogen - SUPER! jedoch bei betätigen der Schaltfläche6 (StopClock zu WA1) wird die MsgBox zu "WA1" nicht unterdrückt, sie erscheint trotzdem.
Bitte nochmals um Hilfe.

So schaut's jetzt aus:
Option Explicit
Public Const gsMacro As String = "Meldung_Anlieferung"
Public gdNextTime As Double

Sub StartClock(Proc As String)
gdNextTime = Now + TimeValue("00:00:02")
Application.OnTime earliesttime:=gdNextTime, procedure:=Proc, schedule:=True
End Sub


Sub StopClock()
On Error Resume Next
Application.OnTime earliesttime:=gdNextTime, procedure:=gsMacro, schedule:=False
End Sub


Sub Schaltfläche3_BeiKlick()
Range("G8").Select
ActiveCell.FormulaR1C1 = "b"
Call StartClock("Meldung_Anlieferung")
Range("I8").Select
Selection.ClearContents
Range("G8").Select
End Sub


Sub Meldung_Anlieferung()
MsgBox "Die Zeit der Anlieferung ist abgelaufen", vbExclamation, "GrL informieren"
End Sub


Sub Schaltfläche4_BeiKlick()
Call StopClock
Range("I8").Select
ActiveCell.FormulaR1C1 = "kb"
Range("G8").Select
Selection.ClearContents
Range("I8").Select
End Sub


Sub Schaltfläche5_BeiKlick()
Range("G10").Select
ActiveCell.FormulaR1C1 = "b"
Call StartClock("Meldung_WA1")
Range("I10").Select
Selection.ClearContents
Range("G10").Select
End Sub


Sub Meldung_WA1()
MsgBox "Die Zeit der WA1 ist abgelaufen", vbExclamation, "GrL informieren"
End Sub


Sub Schaltfläche6_BeiKlick()
Call StopClock
Range("I10").Select
ActiveCell.FormulaR1C1 = "kb"
Range("G10").Select
Selection.ClearContents
Range("I10").Select
End 

Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige