Hallo Marcus
Wenn ich dich richtig verstehe müsste ich das hinzufügen richtig?
Zitat:Private Sub UserForn1_Activate()
Me.Repaint
End Sub
Habe es so getestet ändert sich nix bleibt alles gleich, die Aktualisierung klappt nur richtig wie am
Geschrieben 26.03.2020, 09:05, leider.
Hallo Maria,
ich dachte eher daran das in deinem Code auszuführen:
Private Sub ComboBox8_Change()
If ComboBox8.Value > 0 Then
BlendeCB ComboBox8.Value
Sheets("NameDerTabelleMitDerPivot").PivotTables("qZusetz_" & ComboBox8.Value).PivotCache.Refresh
UserForm.repaint 'oder Me.
End If
End Sub
Testen kann ich das nicht, da ich deine Tabelle nicht kenne.
Du hast allerdings einen Fehler in deinen Code eingebaut:
Es heißt Userform nicht Userforn
Private Sub UserForm1_Activate()
Me.Repaint
End Sub
Gruß
Marcus
Hallöchen,
wenn der Code auf eine Änderung in der Combo reagieren soll gehört er auch in die Combo.
Normalerweise, wenn die Änderung in einem Userform eine Änderung in einem Blatt vornimmt, sollte man selbige auch sofort sehen können.
Ausnahmen bestätigen natürlich die Regel. Es sei denn z.B., man hat Application.ScreenUpdating=False irgendwo eingebaut. Dann sieht man es erst, wenn man es wieder auf True setzt.
Hallo André,
dann lag ich mit meinem Gedanken nicht falsch. Das Application.ScreenUpdating=False und True gesetzt werden muss, das setzte ich bei den gesaamten Fragen, welche Marie bereits gestellt hat, voraus, denn sonst gibt es ja Bildschirmflackern.
Gruß
Marcus
Hallo ihr beiden
Danke für die Tipps
Das Application.ScreenUpdating=False und True hatte ich schon vorher drin am Anfang (False) und Ende (True)
Habe alles der Reihe nach hin und her ausprobiert aber ohne erfolg, was nur funktioniert bis jetzt hatte ich schon geschrieben.
Hallöchen,
vielleicht kannst Du mal den aktuellen Stand hochladen ...
Hallo
Wie kann ich diesen Code richtig einkürzen?
Code:
Function CheckTextboxen() As Boolean
Dim ok As Boolean, arrBox, var
If ComboBox0.Value = 0 Then BlendeCB ComboBox0.Value
If ComboBox0.Value = 1 Then
BlendeCB ComboBox0.Value
ok = True
arrBox = Array("txtbPkt1")
For Each var In arrBox
If Me.Controls(var).Text = "" Then ok = False: MsgBox var & "Punkte eintragen Bitte!!": Me.Controls(var).SetFocus: Exit For
Next
CheckTextboxen = ok
End If
If ComboBox0.Value = 2 Then BlendeCB ComboBox0.Value
If ComboBox0.Value = 2 Then
BlendeCB ComboBox0.Value
ok = True
arrBox = Array("txtbPkt2")
For Each var In arrBox
If Me.Controls(var).Text = "" Then ok = False: MsgBox var & "Punkte eintragen Bitte!!": Me.Controls(var).SetFocus: Exit For
Next
CheckTextboxen = ok
End If
If ComboBox0.Value = 3 Then BlendeCB ComboBox0.Value
If ComboBox0.Value = 3 Then
BlendeCB ComboBox0.Value
ok = True
arrBox = Array("txtbPkt3")
For Each var In arrBox
If Me.Controls(var).Text = "" Then ok = False: MsgBox var & "Punkte eintragen Bitte!!": Me.Controls(var).SetFocus: Exit For
Next
CheckTextboxen = ok
End If
End Function
Hallöchen,
warum machst Du z.B. die Prüfungen der CB und die Aufrufe BlendeCB doppelt?
If ComboBox0.Value = 2 Then BlendeCB ComboBox0.Value
If ComboBox0.Value = 2 Then
BlendeCB ComboBox0.Value
und nicht einfach
If ComboBox0.Value = 3 Then
BlendeCB ComboBox0.Value
…
Warum nimmst Du hier ein Array
arrBox = Array("txtbPkt1")
und keinen String?
...