Office: Makro zu langsam

Helfe beim Thema Makro zu langsam in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, hab es jetzt endlich geschafft meine beiden Makros zu schreiben wie ich es brauch (und die funktionieren sogar *freu*) allerdings ist mein... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Madde, 26. November 2007.

  1. Madde Erfahrener User

    Makro zu langsam


    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
     
  2. schatzi Super-Moderator
    Hallo!

    Wie ich bereits hier im allerersten Satz schrieb:
    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)))
    
     
  3. Madde Erfahrener User
    jo das habe ich mal ausprobiert, aber an der geschwindigkeit ändert das leider kaum etwas.

    trotzdem danke, dann ist das nicht soviel code =)
     
Thema:

Makro zu langsam

Die Seite wird geladen...
  1. Makro zu langsam - Similar Threads - Makro

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. Leerzeilen entfernen

    in Microsoft Word Hilfe
    Leerzeilen entfernen: Hallo in die Runde, ich habe das Problem bzw. den Wunsch in einem DOC die Leerzeilen zu entfernen und das per Makro. Allerdings gelingt es nicht Hintergrund das DOC wird aus einer Dot-Datei...
  6. Makro Schaltflaechen vervielfaeltigen sich....

    in Microsoft Excel Hilfe
    Makro Schaltflaechen vervielfaeltigen sich....: Hallo Zusammen, ich habe eine Exceldatei, die seit ein paar Wochen sehr langsam zu öffnen und zu bearbeiten ist. Zuvor war sie ca. 8MB gross, was sich verdoppelt hat. Ich habe alle Zellen die...
  7. Seit Win 11 Zugriffsprobleme bei Excel über Makros

    in Microsoft Excel Hilfe
    Seit Win 11 Zugriffsprobleme bei Excel über Makros: Guten Tag! Ich habe vor einer Woche mein Windows 10 auf Windows 11 geupgraded, und seitdem habe ich extreme Schwierigkeiten mit meinem Excel. Mit Windows 10 funktionierte alles so, wie es sollte,...
  8. VBA-Makro zur Zellenformatierung Syntax probleme

    in Microsoft Excel Hilfe
    VBA-Makro zur Zellenformatierung Syntax probleme: Hallo zusammen, ich möchte per Makro Zellen formatieren. Tausender-Trennzeichen 3 Nachkommastellen Positive Zahlen Schwarz Negative Zahlen Rot Nullwert mit - Hinter der Zahl soll noch eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden