Makro - Excel 2003 / 2000
wafi
Kann sich dieses Makro mal jemand ansehen?
Aus 31 Tabellen werden Daten in eine Auswertungstabelle gelesen.
Am Monatsende sind das ca. 3000 Datensätze und der Vorgang dauert ca. eine Stunde.
Die Rechenleistung des Pc´s ist bestimmt nicht daran schuld, (3 GB CPU, 2 GB Ram )
Installiert ist Office 2003
Vor ein paar Tagen wollte ich die Abrechnug nochmal durchlaufen lassen und um nicht meinen
Hauptrechner eine Stunde zu blockieren, habe ich es auf meinem Zweitrechner gestartet.
Der hat ebenso die selbe Rechenleistung, nur ist dort noch ein Office 2000 installiert.
Zu meiner großen Überraschung dauerte es dort nichtmal 1 Minute und die Abrechnung war fertig.
Kann mir nur vorstellen, dass dieses Makro mit Excel 2003 nicht klar kommt, Fehlermeldung gibt´s keine.
Danke
Gruß wafi
Public Sub KennzeichenAuslesen()
Dim intY As Integer, intA As Integer, intB As Integer
Dim arrKennzeichen As Variant
Worksheets("Daten").Range("A7:A100").ClearContents
Worksheets("Daten").Range("J7:M5230").ClearContents
intB = 6 'Zeilenbeginn wo geschrieben
For intY = 1 To 31
For intA = 7 To 172 'lesen von bis
If Worksheets(intY).Range("E" & intA) = "" Then intA = 172 ' Abbruch wenn Zelle leer
If Worksheets(intY).Range("E" & intA) > "" Then ' von wo ausgelesen wird
intB = intB + 1
Worksheets("Daten").Range("J" & intB) = UCase(Worksheets(intY).Range("E" & intA)) ' _
_
Kennz
Worksheets("Daten").Range("K" & intB) = Worksheets(intY).Range("M" & intA) 'MAX
Worksheets("Daten").Range("L" & intB) = Worksheets(intY).Range("R" & intA) 'IST
Worksheets("Daten").Range("M" & intB) = Worksheets(intY).Range("N" & intA) 'FIX
End If
Next intA
Next intY
arrKennzeichen = Sortierte_Unikate(Range("J7:J5230"))
Worksheets("Daten").Range("A6").Resize(UBound(arrKennzeichen)) = arrKennzeichen
Range("B8").Select 'Cursor setzen
End Sub
Anzeige