Excel 2013 makro, um nur bestimmte Zeilen basiert auf eine Zelle-Wert

ich bin neu in excel-Makros und vba.
Ich habe eine excel-Datei mit über 300000 Zeilen im ersten Blatt, wo es Element-IDS in der ersten Spalte(Sie können auch mehrere sein, die hat den gleichen Wert), und etwa 1000 Zeilen in zweite Blatt(erste Spalte enthält auch die Element-IDS, aber Sie sind einzigartig hier). ich muss ein makro schreiben, das blendet Zeilen, die in der ersten Platte auf der zweiten Platte. ich meine, ich brauche, um eine Schleife zu werfen, werden alle Zeilen im ersten Blatt und wenn die erste Zelle mit dem Wert nicht übereinstimmt, jede Zelle der ersten Spalte des zweiten Blattes auf, dann verstecken Sie diese Zeile.

ich weiß, dass es sehr langsam wie ich immer vergleichen müssen cellvalue mit weiteren 1000 Zellen-Werte, und ich habe 300 000 Zeilen. Wie kann ich es tun? könnten Sie bitte vorschlagen, der Schnellste Weg? jede Hilfe würde geschätzt, danke im Voraus.

BEARBEITEN
nach der Suche eine Menge, die ich aus meinem eigenen makro

Sub hide()    
Dim MyCell, Rng As Range, Rn2 As Range
Dim MyCell2
Dim id(1 To 1392) As String
Set Rng = Sheets("Sheet0").Range("C162403:C339579")
Set Rng2 = Sheets("IT stuff").Range("A1:A22031")
i = 1
For Each MyCell2 In Rng2
    If Not MyCell2.EntireRow.Hidden Then
        id(i) = MyCell2.Value
        i = i + 1
    End If
Next MyCell2
j = 0
For Each MyCell In Rng
    For A = 1 To 1392
        If MyCell = id(A) Then
        j = 1
        End If
    Next A
    If j = 0 Then
        MyCell.EntireRow.Hidden = True
    ElseIf j = 1 Then
        j = 0
    End If
Next MyCell
End Sub

ist die Verarbeitung nun meine excel-Datei, jedoch ist es sehr langsam... wie kann ich es verbessern??

Es gibt bereits viele Beiträge auf, SO dass die Behandlung der Frage. Suche für vba hide columns ... finden Sie unter : SO Suche
ich habe gesehen, dass viele von Ihnen auf so, aber mein problem ist, dass meine excel-Datei ist sehr groß und ich wollte wissen, Schnellste Weg. Da weiß ich geschrieben habe ein makro, und es läuft für mehr als 30 Minuten...willst du etwa wissen, wie viel Zeit wird es dauern, für ein makro zu tun, was ich will? ich denke, vielleicht habe ich einen Fehler gemacht und, dass es laufen wird, Endlosschleife...

InformationsquelleAutor Asiat | 2013-08-07

Schreibe einen Kommentar