Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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

Optimierung durch sammeln?!

Optimierung durch sammeln?!
31.05.2018 09:45:14
christoph
Moin moin,
habe mir ein Arbeitsblatt eingerichtet mit diversen Funktionen.
Bei einer dieser Funktionen muss er aus neuerstellten Spalten aus allen Spalten die nicht gemerged sind die Inhalte und die Füllfarbe entfernen.
Da diese Funktion die umfangsreichste ist und meine Programmierung nicht die Beste, rödelt er gute 5 Sekunden herum.
Dabei gehen 2-3 Sekunden für den unten aufgeführten Teil drauf:
Debug.Print Time (09:38:14)
For Each c In Range(Cells(28, ende + 1), Cells(600, ende + 1)) ' bearbeiten
If c.MergeArea.Address = c.Address Then
c.ClearContents
c.Interior.ColorIndex = none
End If
Next c
Debug.Print Time (09:38:16)
Ist es möglich die im if bereich angesprochenen Range per Select oder union zu sammeln und dann für den gesamten Bereich clearcontents/interior.colorindex auszuführen um dadurch vllt 1 Sekunde oder so zu sparen?
Danke für ideen und Anmerkungen

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optimierung durch sammeln?!
31.05.2018 09:47:48
Hajo_Zi
ich habe mal in mein Archiv geschaut, da siehst Du das Prinzip.
Option Explicit
Sub DoppelteWerte_löschen()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim RaZelle As Range
Dim IntRow As Long
Dim Start As Long
IntRow = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
For Start = IntRow To 1 Step -1
If Not IsEmpty(Cells(Start, 1)) Then
If Application.CountIf(Range("A1:A" & Start), Cells(Start, 1)) > 1 Then
If RaZelle Is Nothing Then
Set RaZelle = Cells(Start, 1)
Else
Set RaZelle = Union(RaZelle, Cells(Start, 1))
End If
End If
End If
Next
If Not RaZelle Is Nothing Then RaZelle.ClearContents
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
Läuft von 2-3 auf 0-1! Danke owT
31.05.2018 10:29:21
2-3

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige