Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Farbwechsel in Textbox und wieder abrechen

Betrifft: Farbwechsel in Textbox und wieder abrechen von: Thorsten
Geschrieben am: 25.09.2014 22:50:03

Hallo,
ich möchte gerne wenn ich Button1 drücke die Farbe in TextBox1 zwischen (z.B grün und grau) ständig wechselt.

Drücke ich Button2 soll TextBox1 gelb werden und bleiben, der automatische Wechsel von grün und grau soll beenden werden, bis zu erneutem Aufruf über Button1, dann wieder Wechsel grün/grau.

Ich bekomme zwar den Wechsel über Button1 hin, Farbe wechselt, aber dann drücke ich Button2, Farbe wird auch gelb aber dann, läuft der Fabwechsel weiter.
Bekomme es nicht hin ihn zu stoppen. Mir fehlt wohl der richtige Befehl :-)
Vieleicht hat einer einen kleinen Code für mich, Danke
MfG

'Modul1
Public Sub Blinken2()
UserForm1.Blinken
End Sub


Public Sub Blinken()
Static H00C0FFFF As Boolean
zeit = Now + TimeValue("00:00:01")
Application.OnTime zeit, "Blinken2"
If H00C0FFFF = True Then
H00C0FFFF = False
TextBox1.BackColor = &HFF00&
Else
H00C0FFFF = True
TextBox1.BackColor = &H8000000C
End If
End Sub


Private Sub CommandButton1_Click()
Call Blinken
End Sub


Private Sub CommandButton2_Click()
TextBox1.BackColor = vbRed
End Sub

  

Betrifft: AW: Farbwechsel in Textbox und wieder abrechen von: Mullit
Geschrieben am: 26.09.2014 07:57:44

Hallo,

hier gibt's nen coolen Blinker-Code, brauchst Dir nur für die Box umschreiben...

Gruß,


  

Betrifft: AW: Farbwechsel in Textbox und wieder abrechen von: Thorsten
Geschrieben am: 26.09.2014 10:54:35

Hallo Mullit,

das passt schon ganz gut, aber wie bekomme ich meine TextBox1 in der Userform über einen Commandbutton zum blinken, anstatt Zellen auf dem Arbeitsblatt.
und wie kann ich das blinken mit einem 2 Command Button beenden.
Gruß


Sub Blinker()
    Dim t As Single
    Dim on_Time As Single
    Dim off_Time As Single
    Dim on_Color As Single
    Dim off_Color As Single
    Static blnRun As Boolean
    Dim Bereich As Range
   
    on_Time = 0.5
    on_Color = 6
   
    off_Time = 0.5
    off_Color = 5
   
    blnRun = Not blnRun
   
    Set Bereich = Range("D10:D20")        'hier hätte ich es gerne meine TextBox1 in der  _
UserForm
   
    Do While blnRun
        Bereich.Interior.ColorIndex = on_Color
        t = Timer: Do While Timer < t + on_Time: DoEvents: Loop
        Bereich.Interior.ColorIndex = off_Color
        t = Timer: Do While Timer < t + off_Time: DoEvents: Loop
    Loop
End Sub



  

Betrifft: AW: Farbwechsel in Textbox und wieder abrechen von: Mullit
Geschrieben am: 27.09.2014 01:35:46

Hallo,

null Problemo, darum ja umschreiben ;-)...

' ********************************************************************** 
' Modul: UserForm1 Typ: Userform 
' ********************************************************************** 

Option Explicit

Private Const INIT_COLOR As Long = -2147483643

Private mblnCancel As Boolean

Private Sub CommandButton1_Click()
Call prcStartBlinker
End Sub

Private Sub CommandButton2_Click()
Call prcStopBlinker
End Sub

Private Sub UserForm_Terminate()
If Not TextBox1.BackColor = INIT_COLOR Then _
  If Not mblnCancel Then _
    mblnCancel = Not mblnCancel
End Sub

Private Sub prcStartBlinker()
    Dim sngTimer As Single
    Dim sngOn_Time As Single
    Dim sngOff_Time As Single
    Dim lngOn_Color As Long
    Dim lngOff_Color As Long
    
    sngOn_Time = 0.5
    lngOn_Color = vbRed
   
    sngOff_Time = 0.5
    lngOff_Color = vbCyan
   
    If mblnCancel Then _
      mblnCancel = Not mblnCancel
    With TextBox1
        Do While Not mblnCancel
            .BackColor = lngOn_Color
            sngTimer = Timer: Do While Timer < sngTimer + sngOn_Time And Not mblnCancel: DoEvents: Loop
            If mblnCancel Then Exit Do
            .BackColor = lngOff_Color
            sngTimer = Timer: Do While Timer < sngTimer + sngOff_Time And Not mblnCancel: DoEvents: Loop
        Loop
    End With
End Sub

Private Sub prcStopBlinker()
 If Not mblnCancel Then
   With TextBox1
       If Not .BackColor = INIT_COLOR Then
         mblnCancel = Not mblnCancel
         .BackColor = vbYellow
       End If
   End With
 End If
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12

Gruß,


 

Beiträge aus den Excel-Beispielen zum Thema "Farbwechsel in Textbox und wieder abrechen"