Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

 [Excel 2000] Makro zu langsam
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
Madde
Newbie
Newbie


Anmeldedatum: 12.09.2007
Beiträge: 38

BeitragVerfasst am: 26.11.2007, 13:49 Nach oben

Hi, hab es jetzt endlich geschafft meine beiden Makros zu schreiben wie ich es brauch (und die funktionieren sogar *freu*)

allerdings ist mein zweites mit ~5min Durchlaufzeit etwas langsam.
kennt ihr da möglichkeiten noch etwas Zeit einzusparen?
Code:
Option Explicit

Sub Search()
Dim tempStatus                              As String
Dim tempOutput                              As String
Dim Duration                                As String
Dim startdate                               As String
Dim I                                       As Integer 'Zeile Status
Dim K                                       As Integer 'Zeile Output

    Sheets("Status").Select
   
    For I = 1 To 1922                          ' Last line of Status
        Sheets("Status").Select
        Cells(I, 4).Select
        If ActiveCell.Value = "Transform" Or ActiveCell.Value = "Load" Or ActiveCell.Value = "Submit source file" Or ActiveCell.Value = "Extract data" Or ActiveCell.Value = "Pre-validate" Or ActiveCell.Value = "Validation" Then
            Cells(I, 2).Select
            tempStatus = Trim(ActiveCell.Value)
            Cells(I, 3).Select
            tempStatus = tempStatus & Trim(ActiveCell.Value)
            Cells(I, 4).Select
            tempStatus = UCase(tempStatus) & Trim(UCase(ActiveCell.Value))
           
       
       
            If I = 83 Then
                'Stop
            End If
           
            Sheets("Output").Select
       
            For K = 1 To 1136                   'last line of Output
                 'Cells(K, 5).Select
                tempOutput = ""
                'If ActiveCell.Value = "Transform" Or ActiveCell.Value = "Load" Or ActiveCell.Value = "Submit Source file" Or ActiveCell.Value = "Extract data" Or ActiveCell.Value = "Pre-Validate" Or ActiveCell.Value = "Validation" Then
                    Cells(K, 3).Select
                    tempOutput = tempOutput & Trim(ActiveCell.Value)
                    Cells(K, 4).Select
                    tempOutput = tempOutput & Trim(ActiveCell.Value)
                    Cells(K, 5).Select
                    tempOutput = UCase(tempOutput) & Trim(UCase(ActiveCell.Value))
                    If tempStatus = tempOutput Then
                        'Dauer übertragen
                        Sheets("Status").Select
                        Cells(I, 6).Select
                        Duration = ActiveCell.Value
                        Cells(I, 7).Select
                        startdate = ActiveCell.Value
                        'Anderes Tabellenblatt selektieren
                        Sheets("Output").Select
                        Cells(K, 6).Value = Duration
                        'Start-Datum übertragen
                        Cells(K, 8).Value = startdate
                        'Wert ist eindeutig, daher kann Schleife beendet werden
                        Exit For
                     End If
                     
                    If K = 55 Then
                          'Stop
                    End If
                   
                'End If
            Next
    End If
    Next
   
End Sub


Sub Action2()

Application.ScreenUpdating = False
Application.Run "Search"
Application.ScreenUpdating = True

End Sub


das ist mein komplettes makro, screenupdateing ausschalten spart schon enorm Zeit.
allerdings soll das makro später noch überschaubar bleiben, also bitte nicht zuviel rauskürzen oder abkürzen damit auch andere damit arbeiten können und es verstehen :)

Danke für eure Hilfe

MFG
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 26.11.2007, 14:15 Nach oben

Hallo!

Wie ich bereits hier im allerersten Satz schrieb:
Zitat:
Aus Geschwindigkeitsgründen solltest du erstmal die ganzen "Select" rausschmeißen

Dieser Teil zum Beispiel:
Code:
  For I = 1 To 1922                          ' Last line of Status
        Sheets("Status").Select
        Cells(I, 4).Select
        If ActiveCell.Value = "Transform" Or ActiveCell.Value = "Load" Or ActiveCell.Value = "Submit source file" Or ActiveCell.Value = "Extract data" Or ActiveCell.Value = "Pre-validate" Or ActiveCell.Value = "Validation" Then
            Cells(I, 2).Select
            tempStatus = Trim(ActiveCell.Value)
            Cells(I, 3).Select
            tempStatus = tempStatus & Trim(ActiveCell.Value)
            Cells(I, 4).Select
            tempStatus = UCase(tempStatus) & Trim(UCase(ActiveCell.Value))
           

macht genau das gleiche wie
Code:
    For I = 1 To 1922                          ' Last line of Status
        Sheets("Status").Select
        If Cells(I, 4) = "Transform" Or Cells(I, 4) = "Load" Or Cells(I, 4) = "Submit source file" Or Cells(I, 4) = "Extract data" Or Cells(I, 4) = "Pre-validate" Or Cells(I, 4) = "Validation" Then
            tempStatus = UCase(Trim(Cells(I, 2)) & Trim(Cells(I, 3)) & Trim(Cells(I, 4)))

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
Madde
Newbie
Newbie


Anmeldedatum: 12.09.2007
Beiträge: 38

BeitragVerfasst am: 26.11.2007, 14:33 Nach oben

jo das habe ich mal ausprobiert, aber an der geschwindigkeit ändert das leider kaum etwas.

trotzdem danke, dann ist das nicht soviel code =)
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Makro soll relativen Bereich mit Date... Frederic Microsoft Excel Hilfe 1 29.08.2008, 16:12 Letzten Beitrag anzeigen
Keine neuen Beiträge makro für datum Pa7riick Microsoft Excel Hilfe 6 26.08.2008, 09:09 Letzten Beitrag anzeigen
Keine neuen Beiträge Blöder Fehler bei Makro"copy" Gomorra Microsoft Excel Hilfe 1 25.08.2008, 10:32 Letzten Beitrag anzeigen
Keine neuen Beiträge Makro Export Rumak18 Microsoft Excel Hilfe 1 20.08.2008, 11:54 Letzten Beitrag anzeigen
Keine neuen Beiträge makro zum löschen von zeilen Pa7riick Microsoft Excel Hilfe 8 18.08.2008, 15:09 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de