Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dauer - Wert auslesen - Runden - Wert einfügen

Dauer - Wert auslesen - Runden - Wert einfügen
19.02.2004 10:51:02
frebert
Hallo Experten,
ich lese aus einer Spalte in einer Tabelle mit ca. 4000 Zeilen die einzelnen Werte aus, runde sie auf (Genauigkeit) 0,5 und schreibe sie dann wieder zurück.
Z. B. 0,5 = 0,26; 0,27; 0,28; ...; 0,72; 0,73; 0,74
Code:
For j = 5 To Selection.Count
a = Cells(j, 8)
a = Runden(2 * a, 0) / 2
Cells(j, 8).Value = a
Next
Die dazugehörige Funktion:

Function Runden(vZahl As Single, iStellen As Integer)
Runden = CVar(Format(vZahl * (10 ^ iStellen), "0") / (10 ^ iStellen))
End Function


Fukntioniert wunderbar, bis auf die Dauer des Vorgangs (beim zurückschreiben des Wertes in die Zelle [Cells(j, 8).Value = a].
Bei den 4000 Werten dauert das dann mehrere Minuten.
Was mache ich falsch??
Die Variablen habe ich eh schon so klein wie möglich gehalten (single)
Vielen Dank für eure Hilfe
Grüße
Frebert

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

Betreff
Datum
Anwender
Anzeige
AW: Dauer - Wert auslesen - Runden - Wert einfügen
19.02.2004 11:17:23
Maurice
Versuche einfach mal in der Prozedur (beim Aufruf) folgende Zeilen einzufügen
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
am Ende der Prozedur kannst du die False wieder auf True setzten und das xlCalculationManual wieder auf xlCalculationAutomatic setzten.
Alternativ gibt es auch eine Excel Funktion die eine solche Aufgabe bewältigen kann =Obergrenze
Gruß Maurice
AW: Dauer - Wert auslesen - Runden - Wert einfügen
19.02.2004 11:31:54
frebert
Hallo Maurice,
vielen Dank, es hat funktioniert!! Ausschlaggebend war
"Application.Calculation = xlCalculationManual",
die anderen hatte ich bereits auf false gesetzt.
Super!
Grüße Frebert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige