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

Makro arbeitet sehr langsam

Makro arbeitet sehr langsam
30.10.2006 13:27:27
Düppi
Liebe Excel-Profis,
ich starte in einem Makro ein weiteres Makro namens WirdWD, wenn im Arbeitsblatt "Ausgaben" in Spalte 11 etwas geändert wird.:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 Then Call WirdWD
Hier das Makro WirdWD, das nun wirklich nichts außergewöhnliches leistet. Dennoch wird der Call-Befehl in 4 bis 5 Sekunden abgearbeitet:
Public Sub WirdWD()
Dim lGT   As Integer
Dim lWD   As Integer
Worksheets("Guetersloh").Range("K5:K52").ClearContents
For lGT = 5 To 52
For lWD = 1 To 52
If Range("B" & lGT).Value = Range("J" & lWD).Value Then
Sheets("Guetersloh").Range("K" & lGT).Value = Sheets("Ausgaben").Range("I" & lWD)
Exit For
End If
Next lWD
Next lGT
End Sub

Wie bekomme ich das Makro schneller, fragt und grüßt Düppi

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

Betreff
Datum
Anwender
Anzeige
AW: Makro arbeitet sehr langsam
30.10.2006 13:35:42
Ramses
Hallo
Du machst ca. 2500 Prüfungen,... warum ;-)
Public

Sub WirdWD()
Dim lGT   As Integer
Dim tarC as Range
Worksheets("Guetersloh").Range("K5:K52").ClearContents
'Auf welchem Sheet soll denn gesucht werden
'das müsstest du allenfalls noch angeben
For lGT = 5 To 52
Set tarC = Range("J1:J52").Find(Cells(i,2),LookIn:=xlValues, LookAt:=xlWhole)
If not tarc is nothing then
Sheets("Guetersloh").Range("K" & lGT).Value = Sheets("Ausgaben").Range("I" & lgt + 4)    Exit For
End If
Next lGT
End Sub

Ungetestet, ... sollte aber tun
Gruss Rainer
Anzeige
AW: Makro arbeitet sehr langsam
30.10.2006 14:18:33
Düppi
Hallo Rainer,
es soll auf dem Blatt "Ausgaben" gesucht werden. Wo und wie, bitte, müsste ich das denn angeben?
Hilf mir bitte doch noch mal, wäre ja schön, wenns liefe - Gruß Düppi
AW: Makro arbeitet sehr langsam
30.10.2006 14:25:16
Ramses
Hallo
Ohne alles nochmal neu schreiben zu wollen
Set tarC = Worksheets("Ausgaben").Range("J1:J52").Find(Cells(i,2),LookIn:=xlValues, LookAt:=xlWhole)
Gruss Rainer
AW: Makro arbeitet sehr langsam
30.10.2006 15:37:26
Düppi
Hallo Rainer,
Excel meldet mir LZF 1004 "Anwendungs- oder objektdefinierter Fehler". Da komme ich leider nicht weiter... Gruß Düppi
AW: Makro arbeitet sehr langsam
30.10.2006 16:47:55
EtoPHG
Hallo Düppi,
Probier mal:
Public

Sub WirdWD()
Dim lGT   As Integer
Dim lWD   As Integer
getmoreSpeed (True)
Worksheets("Guetersloh").Range("K5:K52").ClearContents
For lGT = 5 To 52
For lWD = 1 To 52
If Range("B" & lGT).Value = Range("J" & lWD).Value Then
Sheets("Guetersloh").Range("K" & lGT).Value = Sheets("Ausgaben").Range("I" & lWD)
Exit For
End If
Next lWD
Next lGT
getmoreSpeed (False)
End Sub


Sub getmoreSpeed(bYesNo As Boolean)
Application.ScreenUpdating = Not (bYesNo)
Application.EnableEvents = Not (bYesNo)
Application.Calculation = IIf(bYesNon, xlCalculationManual, xlCalculationAutomatic)
End Sub

Gruss Hansueli
Anzeige
AW: Makro arbeitet sehr langsam
31.10.2006 14:14:06
Düppi
Hallo Hansueli,
getmorespeed arbeitet sehr gut - durch die Vielzahl der Prüfungen ist mein Sheet zwar kein Ferrari, aber nun immerhin ein schneller Golf!
Besten Dank aus Oelde sagt Düppi!
wegen zu
31.10.2006 14:24:42
geschlossen
AW: Makro arbeitet sehr langsam
30.10.2006 13:37:04
Rudi
Hallo,
in welcher Tab steht Worksheet_change? in Guetersloh?
Dann rufen die beiden sich immer wieder gegenseitig auf.
Setz mal nen Halte punkt in Worksheet_change und geh das ganze mit F8 durch.
Gruß
Rudi
AW: Makro arbeitet sehr langsam
30.10.2006 14:07:52
Düppi
Hallo Rudi,
worksheetchange steht in einem Blatt namens "Ausgaben". Gruß Düppi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige