Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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
Inhaltsverzeichnis

Bildschirm flackern mit ActiveSheet -Anders lösbar

Bildschirm flackern mit ActiveSheet -Anders lösbar
20.11.2017 16:21:10
Hase
Hallo Zusammen,
ich habe ein Makro, dass mir neue Tabellenblätter erstellt und entsprechend Daten einträgt.
Jetzt ist es leider so, dass durch die Verwendung von ActiveSheet der Bildschirm zappelt. ScreenUpdating ignoriert er natürlich.
Fällt euch eine schönere Methode ein, damit der Bildschirm nicht so flackert?
Hier der gekürzte Code:

With wks1
Set r = .Range("C13:C22")
For Each c In r
If c.Text  "" Then
wks2a.Copy after:=wkb.Worksheets(wkb.Worksheets.Count)
ActiveSheet.Name = "month_" & wks1.Range("D6") & c.Offset(, 2).Text
With ActiveSheet
.Shapes("cmd_1").Delete
.PageSetup.RightFooter =   c.Offset(, 1).Text
End With
End If
Next
End With
Vielen lieben Dank!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildschirm flackern mit ActiveSheet -Anders lösbar
20.11.2017 17:54:21
ChrisL
Hi
ScreenUpdating wäre eigentlich schon der richtige Ansatz. Nur wegen ActiveSheet wird Updating nicht ignoriert. Ich schätze der Fehler liegt nicht im vorliegenden Code (vielleicht verwendest du Select?).
Lade mal eine Beispieldatei.
Weil ActiveSheet in diesem Fall klar referenziert ist (das zuvor kopierte Blatt), scheint mir die Verwendung hier akzeptabel.
Ein kleines Detail: Wenn du schon einen With-Rahmen setzt (Default ist sowieso ActiveSheet), dann auch gleich alles was mit ActiveSheet zusammen hängt in den Rahmen ;)
     With ActiveSheet
.Name = "month_" & wks1.Range("D6") & c.Offset(, 2).Text
.Shapes("cmd_1").Delete
.PageSetup.RightFooter =   c.Offset(, 1).Text
End With
cu
Chris
cu
Chris
Anzeige
AW: Bildschirm flackern ActiveSheet -Anders lösbar
20.11.2017 19:54:17
Hase
Hallo Chris,
Hochladen möchte ich die Datei ungern. Sensible Daten und so. Hab den Code jetzt mal soweit gekürzt und geschaut was passiert. Er blendet mir immer das aktuelle Sheet an dem er arbeitet ein.
Select hatte ich auch schon gegoogelt und dann entsprechen umgeschrieben, aber er flackert immer noch.

With wks1
Set r = .Range("C13:C22")
For Each c In r
If c.Text  "" Then
wks2a.Copy after:=wkb.Worksheets(wkb.Worksheets.Count)
With ActiveSheet
.Name = "month_" & wks1.Range("D6") & c.Offset(, 2).Text
.Shapes("cmd_1").Delete
myLastRow2 = .Cells(Rows.Count, 3).End(xlUp).Row
For myRow2 = 3 To myLastRow2
If .Cells(myRow2, 3)  "" Then
.Cells(myRow2, 3).Value = c.Offset(, 1).Text & "-" & .Cells(myRow2, 3).Text
End If
Next myRow2
End With
End If
Next
End With
Mit dem Rahmen ums ActiveSheet hast du natürlich recht, ist mir gar nicht aufgefallen .
Vielen Dank!
Anzeige
AW: Bildschirm flackern ActiveSheet -Anders lösbar
21.11.2017 08:41:26
ChrisL
Hi
Es sagt auch niemand, dass du die Originaldatei verlinken musst. Eine repräsentative Beispieldatei womit sich das Problem rekonstruieren lässt würde bereits reichen.
cu
Chris
AW: Bildschirm flackern ActiveSheet -Anders lösbar
22.11.2017 08:32:03
Hase
Hi Chris,
ich hab das Problem jetzt über einen Umweg gelöst. Während die ganzen Blätter angelegt und ausgefüllt werden, hab ich ein Application.Visible = False eingebaut. Rennt jetzt sogar noch viel schneller.
Trotzdem Danke für die Hilfe!
Lg Hase

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige