Thema Datum  Von Nutzer Rating
Antwort
24.12.2016 19:56:46 René
NotSolved
25.12.2016 00:48:11 Onur
NotSolved
Rot Spalten Vergleich
26.12.2016 18:38:07 Werner
NotSolved
26.12.2016 19:54:30 Onur
NotSolved
26.12.2016 20:24:58 Werner
NotSolved
26.12.2016 20:42:02 Gast97509
NotSolved
26.12.2016 20:51:45 Onur
***
NotSolved
28.12.2016 18:09:58 Gast36873
NotSolved
28.12.2016 19:02:39 Onur
NotSolved
28.12.2016 20:48:47 Werner
NotSolved
29.12.2016 12:07:21 Werner
Solved
29.12.2016 21:55:08 Gast91286
NotSolved

Ansicht des Beitrags:
Von:
Werner
Datum:
26.12.2016 18:38:07
Views:
815
Rating: Antwort:
  Ja
Thema:
Spalten Vergleich

Hallo Onur,

wenn dann bitte ohne select und ohne activate. Ich habe dir mal dein Makro etwas angepasst und die ganzen select und activate rausgenommen. Dann noch am Anfang ein Screenupdating=False rein. In deinem Originalmakro und in meinem angepassten Makro habe ich einen Timer eingebaut, der nach Makrodurchlauf die Zeit ausgibt, wie lange das Makro gelaufen ist.

Lass mal beide Versionen mit jeweils 10 Datensätzen in Tabelle1 und Tabelle2 laufen.

 

Public Sub Bremsen_raus()
Dim v(500) As Variant: ' für bis zu 500 Zeilen - ggf erhöhen
Dim Start As Double
Application.ScreenUpdating = False
Start = Timer
Z = 2
With Sheets("Tabelle2")
    'start ab zeile 2 - ggf ändern
    While .Cells(Z, 3) <> ""
    v(Z) = .Cells(Z, 3): 'Werte in v() speichern
    Z = Z + 1
    Wend
End With
Z = Z - 1: z2 = 2
'Sheets("Tabelle1").Select
With Sheets("Tabelle1")
    While .Cells(z2, 3) <> ""
        For nr = 2 To Z
            If .Cells(z2, 3) = v(nr) Then
                .Rows(z2).Delete
            End If
        Next nr
        z2 = z2 + 1
    Wend
z2 = 2: Z = Z + 1
    While .Cells(z2, 3) <> ""
        .Rows(z2).Copy Sheets("Tabelle2").Cells(Z, 1)
        z2 = z2 + 1: Z = Z + 1
    Wend
End With
Application.ScreenUpdating = True
MsgBox Format(Timer - Start, "#0.00") & " Sekunden gerödelt!"
End Sub

Sub Makro1()
    Dim v(500) As Variant: ' für bis zu 500 Zeilen - ggf erhöhen
    Dim Start As Double
Start = Timer
    Sheets("Tabelle2").Select
    Z = 2
    'start ab zeile 2 - ggf ändern
    While Sheets("Tabelle2").Cells(Z, 3) <> ""
        v(Z) = Sheets("Tabelle2").Cells(Z, 3): 'Werte in v() speichern
        Z = Z + 1
    Wend
    Z = Z - 1: z2 = 2
    Sheets("Tabelle1").Select
    While Sheets("Tabelle1").Cells(z2, 3) <> ""
        For nr = 2 To Z
            Rem Stop
            If Sheets("Tabelle1").Cells(z2, 3) = v(nr) Then
                Rows(z2).Select
                Selection.Delete Shift:=xlUp
            End If
        Next nr
        z2 = z2 + 1
    Wend
    z2 = 2: Z = Z + 1
    While Sheets("Tabelle1").Cells(z2, 3) <> ""
        Sheets("Tabelle1").Select
        Rows(z2).Select
        Selection.Copy
        Sheets("Tabelle2").Select
        Sheets("Tabelle2").Cells(Z, 1).Select
        ActiveSheet.Paste
        z2 = z2 + 1: Z = Z + 1
    Wend
    MsgBox Format(Timer - Start, "#0.00") & " Sekunden gerödelt!"
End Sub

Gruß Werner

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
24.12.2016 19:56:46 René
NotSolved
25.12.2016 00:48:11 Onur
NotSolved
Rot Spalten Vergleich
26.12.2016 18:38:07 Werner
NotSolved
26.12.2016 19:54:30 Onur
NotSolved
26.12.2016 20:24:58 Werner
NotSolved
26.12.2016 20:42:02 Gast97509
NotSolved
26.12.2016 20:51:45 Onur
***
NotSolved
28.12.2016 18:09:58 Gast36873
NotSolved
28.12.2016 19:02:39 Onur
NotSolved
28.12.2016 20:48:47 Werner
NotSolved
29.12.2016 12:07:21 Werner
Solved
29.12.2016 21:55:08 Gast91286
NotSolved