Makro beschleunigen

28/10/2010 - 14:37 von Daniel | Report spam
Hi Leute,

ich habe ein sehr einfach gestricktes Makro erstellt, dass seinen Zweck
ausgezeichnet erfüllt. Nur merke ich, jetzt wo ich bei 80.000 Zeilen
angekommen bin, die zu prüfen sind, dass das Makro seeeehr lange làuft. Kann
man den Code irgendwie vereinfachen? Ich war so frech und habe ihn mal
angehàngt. Vielleicht hat ja jemand Muse für nen Tipp.

Gruß Daniel

Sub Kontenzuordnung()
Dim Zeile As Long
Dim SpeicherFürKonto As Variant
Dim Zielzeile As Long

mappe1 = "KASTAMM.xls"
blatt11 = "KASTAMM"
mappe2 = "GuV prop-fix.xlsx"
blatt21 = "981"


Zeile = 0
Zielzeile = 0


For Zeile = 6 To 722 ' Durchlaufen Quelle
SpeicherFürKonto = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 1).Value
Speicher1 = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 6).Value
' Speicher2 = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 12).Value
' Speicher3 = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 7).Value
' Speicher4 = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 8).Value
' Speicher5 = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 9).Value
' Speicher6 = Workbooks(mappe1).Sheets(blatt11).Cells(Zeile, 10).Value


'Übertragen in Positionsaufstellung
For Zielzeile = 8 To 83112
If Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 2).Value =
SpeicherFürKonto Then
Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 44).Value = Speicher1
' Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 6).Value = Speicher2
' Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 11).Value = Speicher3
' Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 7).Value = Speicher4
' Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 8).Value = Speicher5
' Workbooks(mappe2).Sheets(blatt21).Cells(Zielzeile, 9).Value = Speicher6

End If
Next Zielzeile
Next Zeile
MsgBox "HABE FERTIG"
End Sub
 

Lesen sie die antworten

#1 Claus Busch
28/10/2010 - 15:10 | Warnen spam
Hallo Daniel,

Am Thu, 28 Oct 2010 14:37:20 +0200 schrieb Daniel:

ich habe ein sehr einfach gestricktes Makro erstellt, dass seinen Zweck
ausgezeichnet erfüllt. Nur merke ich, jetzt wo ich bei 80.000 Zeilen
angekommen bin, die zu prüfen sind, dass das Makro seeeehr lange làuft. Kann
man den Code irgendwie vereinfachen? Ich war so frech und habe ihn mal
angehàngt. Vielleicht hat ja jemand Muse für nen Tipp.



bitte beschreibe mal was du überhaupt durchführen willst. Im Moment
schreibst du in alle 80000 Zeilen die Werte aus Zeile 6. Wenn du fertig
bist überschreibst du mit den Werten der Zeile 7 usw. Am Ende hast du in
80000 Zeilen die gleichen Werte, die Werte aus Zeile 722.


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Ähnliche fragen