Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
Hallo,
ich weiß nicht, ob ich Deine Frage jetzt richtig verstehe. Hast Du die .REPAINT Methode schon mal ausprobiert?
Zitat:https://docs.microsoft.com/de-de/office/...rm.repaint
Gruß
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:1 Nutzer sagt Danke an marose67 für diesen Beitrag 28
• Maria 6
Registriert seit: 15.03.2020
Version(en): 2019
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.
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
26.03.2020, 13:23
(Dieser Beitrag wurde zuletzt bearbeitet: 26.03.2020, 13:23 von marose67.)
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
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:1 Nutzer sagt Danke an marose67 für diesen Beitrag 28
• Maria 6
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Maria 6
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
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
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:1 Nutzer sagt Danke an marose67 für diesen Beitrag 28
• Maria 6
Registriert seit: 15.03.2020
Version(en): 2019
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.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
vielleicht kannst Du mal den aktuellen Stand hochladen ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 15.03.2020
Version(en): 2019
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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?
...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)