Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Lange dauernder Code

Forumthread: Lange dauernder Code

Lange dauernder Code
19.12.2005 23:40:29
Lorenz
Hallo Spezialisten!
Mit meinem Code dauerts verdammt lange! (bis zu 3 Minuten)
Ist es igendwie möglich ihn zu beschleunigen?
Wenn ja , wie bitte?
Mein Code: (SumNDKonsole & SumKonsole) sind benannte Formeln.

Private Sub EinsBis31()
Dim iRow As Integer, iCol As Integer
iRow = 4
For iRow = iRow To 2691
With Cells(iRow, 4)
.Formula = "=SumNDKonsole"
.Value = .Value
If .Value = 0 Then .Value = ""
End With
For iCol = 5 To 28
With Cells(iRow, iCol)
.Formula = "=SumKonsole"
.Value = .Value
If .Value = 0 Then .Value = ""
End With
Next
Next
End Sub

Danke u. Grüße
Lorenz
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
2687 Rechenvorgänge ............
19.12.2005 23:53:17
Gast
Hi Lorenz,
2691-4 = 2687 Rechenvorgänge in 3 Minuten ist doch super schnell?
For iRow = iRow To 2691
Gruß Gast
AW: 2687 Rechenvorgänge ............
20.12.2005 00:00:50
Lorenz
Hi Gast!
Dachte mir daß der Code verpfuscht ist! Mir kam die Dauer der Rechenoperationen eben sehr lange vor. (bei einem PIV 3ghz?).
Danke für die Info.
Grüße
Lorenz
Anzeige
AW: Lange dauernder Code
19.12.2005 23:54:37
K.Rola
Hallo,
du kannst einem ganzen Zellbereich Formeln zuordnen, diese in Werte umwandeln und Nullen durch nichts ersetzen, dauert eine Sekunde.
Gruß K.Rola
AW: Lange dauernder Code
20.12.2005 00:12:35
Lorenz
Hi K.Rola!
Ich probierte es auch so:
Dim BereichNd
Set BereichNd = Range("D5:AB2691")
For Each Cells in BereichNd ....
next
Funktionierte aber auch nicht schneller!
Grüße Lorenz
Anzeige
AW: Lange dauernder Code
20.12.2005 00:13:26
Josef
Hallo Lorenz!
Probier mal.
Private Sub EinsBis31()

On Error GoTo ErrorExit
Application.ScreenUpdating = False

With Range(Cells(4, 4), Cells(2961, 4))
  .Formula = "=SumNDKonsole"
  .Value = .Value
  .Replace 0, ""
End With

With Range(Cells(4, 5), Cells(2961, 28))
  .Formula = "=SumKonsole"
  .Value = .Value
  .Replace 0, ""
End With

ErrorExit:
Application.ScreenUpdating = True
End Sub



'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Lange dauernder Code
20.12.2005 00:18:22
K.Rola
Hallo,
damit putzt du gnadenlos alle Nullen, besser wohl so:
.Replace What:=0, replacement:="", lookat:=xlWhole
Gruß K.Rola
dafür hat's aber....
20.12.2005 00:21:57
Josef
Hallo Meisterin!
...nur eine Sekunde gedauert ;-)))
Danke für die Korrektur!
Gruß Sepp
AW: dafür hat's aber....
20.12.2005 00:28:44
K.Rola
Hallo Sepp,
nichtmal das, eine gesamte Spalte(ohne Screenupdatin = False) nur 0,13 Sekunden und
das auf meinem lahmen Notebook(Pentium 2,4GHz, 512 MB DDR SDRAM).
Gruß K.Rola
Anzeige
Danke an Beide :-))
20.12.2005 00:38:25
Lorenz
Hi Josef & K.Rola!!
Funktioniert jetzt suuuuuuuuuuuuuuuuuper! nicht mal mehr 3 Sekunden mit FolgeCode.
Habe beides (mit .Replace What:=0, replacement:="", lookat:=xlWhole) genutzt und verwendet!. Hat leider etwas gedauert(habe gepfuscht: statt 2691
habe ich 2961 angegeben.. somit wichtige Bezugsdaten überschrieben) also war das Ergebnis #BEZUG!.
Nochmals vielen vielen Dank!
Güße
Lorenz
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18