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

Makro läuft sich Wolf

Makro läuft sich Wolf
18.11.2005 12:05:17
achim
Hallo Excel Freunde
wer kann mal schauen
Makro funzt aber läuft sich ein Wolf.
Daten sind bis Zelle 2000 vorhanden.
Geht das Makro schneller:

Sub mach ()
Dim arr As Variant
Dim s As Integer
arr = Range("AH2", "AH" & Range("A65536").End(xlUp).Row)
For s = 2 To Range("A65536").End(xlUp).Row
For t = 1 To UBound(arr)
If Cells(s, 20) = arr(t, 1) Then
Cells(s, 17) = arr(t, 1)
End If
Next t
Next s
End Sub

Dankr gruß
achim h.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro läuft sich Wolf
18.11.2005 12:21:52
Uduuh
Hallo,
auf jeden Fall die Bildschirmaktualisierung abschalten
Application.ScreenUpdating=False. Am Ende wieder auf True setzten.
Gruß aus’m Pott
Udo

AW: Makro läuft sich Wolf, Ergänzung
18.11.2005 12:30:50
Uduuh
Hallo,
die Doppelschleife ist überflüssig. Um festzustellen ob sich der Wert aus Spalte T in AH wiederfindet, ist Worksheetfunction.Countif(Range("AH:AH"),cells(s,20)) erheblich schneller.

Sub mach ()
Dim s As Long
For s = 2 To Range("A65536").End(xlUp).Row
If worksheetfunction.Countif(Range("AH:AH"),Cells(s, 20))>0 Then
Cells(s, 17) = cells(s,29)
End If
Next s
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: Makro läuft sich Wolf, Ergänzung
18.11.2005 12:46:19
achim
Hallo Udo
Sorry aber das Makro produziert nur Zellen mit leeren inhalt. kann es sein da ich ab Q2 bis Q20000 eine bedingung "daten gültigkeit liste" eigerichtet habe das das daher nicht klappt?
Gruß
achim h.
AW: Makro läuft sich Wolf, Ergänzung
18.11.2005 12:53:23
Uduuh
Hallo,
ich hatte nen Tippfehler drin. Die Daten aus Cells(s,29), also AC wurden übertragen und nicht die aus T.

Sub mach ()
Dim s As Long
For s = 2 To Range("A65536").End(xlUp).Row
If worksheetfunction.Countif(Range("AH:AH"),Cells(s, 20))>0 Then
Cells(s, 17) = cells(s,20)
End If
Next s
End Sub

Gruß aus’m Pott
Udo

Anzeige
o.T.
18.11.2005 13:16:59
achim
Hallo Udo
hat alles geklappt.Super:-)rattenschnell
danke
achim h. aus dem Ruhrgebiet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige