Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1348to1352
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

Betrifft: AW: Automatische Datierung einer Formelb

Betrifft: AW: Automatische Datierung einer Formelb
09.02.2014 14:21:38
Daniel
Hallo Franc,
ersteinmal vielen dank!! Das ganze funktioniert gut allerdings ist es doch ganz schön langsam. Eigentlich möchte ich 10.000 Zellen abfragen habe es jetzt schon auf 5000 beschränkt. Ich habe versucht es etwas zu beschleunigen(siehe code unten) allerdings schmiert mir Excel ab wenn ich "Enable Events" oder "Calculation" aus bzw. auf manuell schalte.
Gibt es möglichkeiten das ganze zu beschleunigen?
Private Sub Worksheet_Calculate()
' das Ereignis wird immer ausgelöst egal wo im Blatt etwas neu berechnet wird
With Application
.ScreenUpdating = False
'.EnableEvents = False
'.Calculation = xlCalculationManual
End With
Dim i
On Error GoTo leer
' wenn das Blatt aktiv war und noch nichts geändert wurde, ist das Array leer
' und erzeugt einen Fehler und dann soll es zu "leer" springen und den Bereich einlesen
For i = LBound(varBereich) To UBound(varBereich)
' stehen werte im array, werden sie nun verglichen
' dazu muss der Bereich aber bekannt sein
' wenn es in Zeile 1 anfängt ist es einfach
If Cells(i + 8, 20)  varBereich(i, 1) Then Cells(i + 8, 23) = Date
' fängt es in einer anderen Zeile an, muss man das berücksichtigen
' beispiel - der Bereich ist nicht T1:T100 sondern T5:T100
' dann muss die Zeile für den Vergleich wie folgt lauten
' If Cells(i + 4, 20)  varBereich(i, 1) Then Cells(i + 4, 21) = Now
' i = 1 + 4 = 5 ;-), i ist beim 1. Wert 1, weil das Array in dem Fall bei 1 beginnt
' und nicht wie sonst bei 0 aber das ist hier auch ok
Next
leer: 'hierher springt er beim ersten initialisieren bzw. wenn die Tabelle aktiv war
' was tun wir? wir lesen den Bereich ein, den wir überwachen wollen
varBereich = Range("T9:T5008").Value
With Application
.ScreenUpdating = True
'.EnableEvents = True
'.Calculation = xlCalculationAutomatic
End With
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Betrifft: AW: Automatische Datierung einer Formelb
09.02.2014 14:31:42
Daniel
sorry wollt nur Antworten, kann das einer löschen?
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige