Hallo zusammen,
ich programmiere mit gerade eine UserForm die ein Bedienschema eines Gerätes nachbildet, im Grunde funktioniert das alles so wie es soll bis auf den automatischen Rücksprung aus einem Zustand.
Ich drücke einen button und es werden gewisse Tasten hervorgehoben und andere ausgegraut, diesen Zustand soll durch abermaliges drücken des buttons wieder verlassen werde können oder eben nach Zeit X. Das mit der Zeit bekomme ich nicht hin mangels Kompetenz. wenn ich eine Wartezeit einprogrammiere kann man die anderen buttons nicht verwenden
Es handelt sich um den Commandbutton "Button_Farbtemperatur_Click()"
sicherlich alles andere als schön programmiert da ich fachfremd bin
hier mal der code der user form
Dim Helligkeit_Wert As Integer
Dim Helligkeit_AnAus As Integer
Dim Farbtemperatur_Wert As Integer
Dim Farbtemperatur_AnAus As Integer
Dim cnt1 As Integer
Dim cnt As Integer
Private Sub UserForm_Initialize()
Button_Farbtemperatur.Enabled = False
Button_Helligkeit.Enabled = False
Button_Farbtemperatur.Enabled = False
Button_Zahnfarbe.Enabled = False
Button_Compo_Save.Enabled = False
Button_SpeicherUser.Enabled = False
Button_subtracton.Enabled = False
button_addition.Enabled = False
cnt = 1
Helligkeit_AnAus = 0
Farbtemperatur_AnAus = 0
Alle_Sonnen_ausblenden
End Sub
Private Sub Button_AnAus_Click()
Helligkeit_Wert = Range("D2").Value 'Wert für Helligkeit aus Speicher lesen
Farbtemperatur_Wert = Range("D1").Value 'Wert für Farbtemperatur aus Speicher lesen
Select Case cnt:
Case 1
Button_AnAus.BackColor = &H8080FF
cnt = 0
Button_Helligkeit.Enabled = True
Button_Farbtemperatur.Enabled = True
Button_Zahnfarbe.Enabled = True
Button_Compo_Save.Enabled = True
Button_SpeicherUser.Enabled = True
Button_AnAus.Enabled = True
Button_subtracton.Enabled = True
button_addition.Enabled = True
richtige_Sonne_einblenden
Sheets("Tabelle1").Range("A1").Value = cnt 'speichert den Wert in Tabelle1 unter A1 ab
Case 0
Button_AnAus.BackColor = &H8000000F
cnt = 1
Button_Helligkeit.BackColor = &H8000000F
Button_Farbtemperatur.BackColor = &H8000000F
Helligkeit_AnAus = 0
Farbtemperatur_AnAus = 0
Anzeigebalken_1.BackColor = &H8000000F 'Led Balkenanzeige nullen
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Button_Helligkeit.Enabled = False
Button_Farbtemperatur.Enabled = False
Button_Zahnfarbe.Enabled = False
Button_Compo_Save.Enabled = False
Button_SpeicherUser.Enabled = False
Button_subtracton.Enabled = False
button_addition.Enabled = False
Alle_Sonnen_ausblenden
Sheets("Tabelle1").Range("A1").Value = cnt
End Select
End Sub
Private Sub Button_SpeicherUser_Click()
Helligkeit_Wert = Range("C5").Value 'Wert für Helligkeit aus Speicher lesen
Farbtemperatur_Wert = Range("B5").Value 'Wert für Farbtemperatur aus Speicher lesen
richtige_Sonne_einblenden
End Sub
Private Sub Button_SpeicherUser_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Helligkeit_Wert = Range("D2").Value
Farbtemperatur_Wert = Range("D1").Value
Sheets("Tabelle1").Range("C5").Value = Helligkeit_Wert 'speichert den Wert in Tabelle1 unter C5 ab
Sheets("Tabelle1").Range("B5").Value = Farbtemperatur_Wert 'speichert den Wert in Tabelle1 unter B5 ab
End Sub
Private Sub Button_Helligkeit_Click()
Select Case Helligkeit_AnAus:
Case 1 'Ausschalten
Button_Helligkeit.BackColor = &H8000000F
Helligkeit_AnAus = 0
Button_Farbtemperatur.Enabled = True
Button_Zahnfarbe.Enabled = True
Button_Compo_Save.Enabled = True
Button_SpeicherUser.Enabled = True
Button_AnAus.Enabled = True
Anzeigebalken_1.BackColor = &H8000000F 'Led Balkenanzeige nullen
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Sheets("Tabelle1").Range("B2").Value = Helligkeit_AnAus 'speichert den Wert in Tabelle1 unter A1 ab
Case 0 ' Einschalten
Button_Helligkeit.BackColor = &H8080FF
Helligkeit_AnAus = 1
Button_Farbtemperatur.Enabled = False 'Andere Schaltflächen sperren/ausgrauen
Button_Zahnfarbe.Enabled = False
Button_Compo_Save.Enabled = False
Button_SpeicherUser.Enabled = False
Helligkeit_Wert = Range("D2").Value 'Wert für Helligkeit aus Speicher lesen
Select Case Helligkeit_Wert:
Case 1
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 2
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 3
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 4
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8000000F
Case 5
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8080FF
End Select
Sheets("Tabelle1").Range("B2").Value = Helligkeit_AnAus
End Select
End Sub
Private Sub Button_Farbtemperatur_Click()
Select Case Farbtemperatur_AnAus:
Case 1
Button_Farbtemperatur.BackColor = &H8000000F
Farbtemperatur_AnAus = 0
Button_Helligkeit.Enabled = True
Button_Zahnfarbe.Enabled = True
Button_Compo_Save.Enabled = True
Button_SpeicherUser.Enabled = True
Button_AnAus.Enabled = True
Anzeigebalken_1.BackColor = &H8000000F 'Led Balkenanzeige nullen
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Sheets("Tabelle1").Range("B1").Value = Farbtemperatur_AnAus 'speichert den Wert in Tabelle1 unter A1 ab
Case 0 'Einschalten
Button_Farbtemperatur.BackColor = &H8080FF
Farbtemperatur_AnAus = 1
Button_Helligkeit.Enabled = False
Button_Zahnfarbe.Enabled = False
Button_Compo_Save.Enabled = False
Button_SpeicherUser.Enabled = False
Farbtemperatur_Wert = Range("D1").Value 'Wert für Farbtemperatur aus Speicher lesen
Select Case Farbtemperatur_Wert:
Case 1
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 2
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 3
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 4
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8000000F
Case 5
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8080FF
End Select
Sheets("Tabelle1").Range("B1").Value = Farbtemperatur_AnAus
End Select
'Application.Wait (Now + TimeValue("00:00:05")) 'wartet 5 Sekunden
End Sub
Private Sub Button_Zahnfarbe_Click()
Helligkeit_Wert = Range("C6").Value 'Wert für Helligkeit aus Speicher lesen
Farbtemperatur_Wert = Range("B6").Value 'Wert für Farbtemperatur aus Speicher lesen
richtige_Sonne_einblenden
End Sub
Private Sub Button_Compo_Save_Click()
Helligkeit_Wert = Range("C7").Value 'Wert für Helligkeit aus Speicher lesen
Farbtemperatur_Wert = Range("B7").Value 'Wert für Farbtemperatur aus Speicher lesen
richtige_Sonne_einblenden
End Sub
Private Sub Button_subtracton_Click()
If Farbtemperatur_AnAus = 0 And Helligkeit_AnAus = 1 Then 'Helligkeit
Helligkeit_Wert = Range("D2").Value ' liest den Wert für Helligkeit aus D2 aus
If Helligkeit_Wert > 1 Then
Helligkeit_Wert = Helligkeit_Wert - 1 ' Wert wird um 1 reduziert
Sheets("Tabelle1").Range("D2").Value = Helligkeit_Wert ' Wert wird in D2 geschrieben
End If
Select Case Helligkeit_Wert:
Case 1
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 2
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 3
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 4
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8000000F
Case 5
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8080FF
End Select
End If
If Farbtemperatur_AnAus = 1 And Helligkeit_AnAus = 0 Then 'Farbtemperatur
Farbtemperatur_Wert = Range("D1").Value ' liest den Wert für Farbtemperatur aus D1 aus
If Farbtemperatur_Wert > 1 Then
Farbtemperatur_Wert = Farbtemperatur_Wert - 1 ' Wert wird um 1 reduziert
Sheets("Tabelle1").Range("D1").Value = Farbtemperatur_Wert ' Wert wird in D1 geschrieben
End If
Select Case Farbtemperatur_Wert:
Case 1
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 2
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 3
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 4
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8000000F
Case 5
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8080FF
End Select
End If
richtige_Sonne_einblenden
End Sub
Private Sub button_addition_Click()
If Farbtemperatur_AnAus = 0 And Helligkeit_AnAus = 1 Then 'Helligkeit
Helligkeit_Wert = Range("D2").Value ' liest den Wert für Helligkeit aus D2 aus
If Helligkeit_Wert < 5 Then
Helligkeit_Wert = Helligkeit_Wert + 1 ' Wert wird um 1 reduziert
Sheets("Tabelle1").Range("D2").Value = Helligkeit_Wert ' Wert wird in D2 geschrieben
End If
Select Case Helligkeit_Wert:
Case 1
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 2
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 3
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 4
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8000000F
Case 5
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8080FF
End Select
End If
If Farbtemperatur_AnAus = 1 And Helligkeit_AnAus = 0 Then 'Farbtemperatur
Farbtemperatur_Wert = Range("D1").Value ' liest den Wert für Farbtemperatur aus D1 aus
If Farbtemperatur_Wert < 5 Then
Farbtemperatur_Wert = Farbtemperatur_Wert + 1 ' Wert wird um 1 reduziert
Sheets("Tabelle1").Range("D1").Value = Farbtemperatur_Wert ' Wert wird in D1 geschrieben
End If
Select Case Farbtemperatur_Wert:
Case 1
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8000000F
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 2
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8000000F
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 3
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8000000F
Anzeigebalken_5.BackColor = &H8000000F
Case 4
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8000000F
Case 5
Anzeigebalken_1.BackColor = &H8080FF
Anzeigebalken_2.BackColor = &H8080FF
Anzeigebalken_3.BackColor = &H8080FF
Anzeigebalken_4.BackColor = &H8080FF
Anzeigebalken_5.BackColor = &H8080FF
End Select
End If
richtige_Sonne_einblenden
End Sub
Function Alle_Sonnen_ausblenden()
Bild_1a.Visible = False
Bild_2a.Visible = False
Bild_3a.Visible = False
Bild_4a.Visible = False
Bild_5a.Visible = False
Bild_1b.Visible = False
Bild_2b.Visible = False
Bild_3b.Visible = False
Bild_4b.Visible = False
Bild_5b.Visible = False
Bild_1c.Visible = False
bild_2c.Visible = False
Bild_3c.Visible = False
Bild_4c.Visible = False
Bild_5c.Visible = False
Bild_1d.Visible = False
Bild_2d.Visible = False
Bild_3d.Visible = False
Bild_4d.Visible = False
Bild_5d.Visible = False
Bild_1e.Visible = False
Bild_2e.Visible = False
Bild_3e.Visible = False
Bild_4e.Visible = False
Bild_5e.Visible = False
End Function
Function richtige_Sonne_einblenden()
Alle_Sonnen_ausblenden
If Helligkeit_Wert = 1 Then
If Farbtemperatur_Wert = 1 Then Bild_1a.Visible = True
If Farbtemperatur_Wert = 2 Then Bild_1b.Visible = True
If Farbtemperatur_Wert = 3 Then Bild_1c.Visible = True
If Farbtemperatur_Wert = 4 Then Bild_1d.Visible = True
If Farbtemperatur_Wert = 5 Then Bild_1e.Visible = True
End If
If Helligkeit_Wert = 2 Then
If Farbtemperatur_Wert = 1 Then Bild_2a.Visible = True
If Farbtemperatur_Wert = 2 Then Bild_2b.Visible = True
If Farbtemperatur_Wert = 3 Then bild_2c.Visible = True
If Farbtemperatur_Wert = 4 Then Bild_2d.Visible = True
If Farbtemperatur_Wert = 5 Then Bild_2e.Visible = True
End If
If Helligkeit_Wert = 3 Then
If Farbtemperatur_Wert = 1 Then Bild_3a.Visible = True
If Farbtemperatur_Wert = 2 Then Bild_3b.Visible = True
If Farbtemperatur_Wert = 3 Then Bild_3c.Visible = True
If Farbtemperatur_Wert = 4 Then Bild_3d.Visible = True
If Farbtemperatur_Wert = 5 Then Bild_3e.Visible = True
End If
If Helligkeit_Wert = 4 Then
If Farbtemperatur_Wert = 1 Then Bild_4a.Visible = True
If Farbtemperatur_Wert = 2 Then Bild_4b.Visible = True
If Farbtemperatur_Wert = 3 Then Bild_4c.Visible = True
If Farbtemperatur_Wert = 4 Then Bild_4d.Visible = True
If Farbtemperatur_Wert = 5 Then Bild_4e.Visible = True
End If
If Helligkeit_Wert = 5 Then
If Farbtemperatur_Wert = 1 Then Bild_5a.Visible = True
If Farbtemperatur_Wert = 2 Then Bild_5b.Visible = True
If Farbtemperatur_Wert = 3 Then Bild_5c.Visible = True
If Farbtemperatur_Wert = 4 Then Bild_5d.Visible = True
If Farbtemperatur_Wert = 5 Then Bild_5e.Visible = True
End If
End Function
|