Verschieben von gefilterten Daten in ein variables Array der Variante

0

Ich versuche gerade, eine manuelle Aufgabe zu automatisieren. Ich habe meine Daten gefiltert und dies funktioniert einwandfrei, wenn ich den sichtbaren Bereich in ein anderes Blatt kopiere und einfüge. Ich versuche, die sichtbaren Daten in ein variables Array der Variante zu schreiben. Ich möchte dies in Erinnerung behalten und dann in einen Bereich schreiben. Jedes Mal, wenn ich das tue, erhalte ich #NAs. Ihre Gedanken und Ratschläge geschätzt.

Sub Derivatives()
    Application.ScreenUpdating = False
    Application.Calculation = xlAutomatic
    Application.DisplayAlerts = False

    Dim wb As Workbook, ws As Worksheet
    Dim lRow As Long
    Dim lRow1 As Long
    Dim Fields() As Variant
    Dim wb1 As Workbook

    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet

    lRow = Range("A" & Rows.Count).End(xlUp).Row

    With ws
        Range("$G$9:$I$22479").AutoFilter Field:=3, Criteria1:="TRUE"
        lRow1 = Range("G" & Rows.Count).End(xlUp).Row
        Fields = ws.Range("G9").CurrentRegion.SpecialCells(xlCellTypeVisible)
        ActiveSheet.ShowAllData
        Range("K9").CurrentRegion = Fields
    End With

    Application.ScreenUpdating = True
    Application.Calculation = xlAutomatic
    Application.DisplayAlerts = True
End Sub
user3287522
quelle
Sie müssten die Bereiche iterieren und dann die Zeilen in jedem Bereich, um jede Zelle einzeln hinzuzufügen. Oder iterieren Sie alle Zeilen und fügen Sie sie hinzu, wenn sie sichtbar sind. Es ist möglicherweise schneller, das Sichtbare zu kopieren und einzufügen, als den neuen Bereich in das Array zu laden.
Scott Craner
Hallo Scot, ich bin sehr daran interessiert, dieses Array in eine Variante zu laden, es als Speicher zu speichern und es ist auch ein Lernelement. Ich bin ein wenig verwirrt, wie dies getan werden kann
user3287522
Wie mein letzter Kommentar sagte, kann man es nicht in Massen tun. Ich gab Ihnen drei Möglichkeiten, wie es geht.
Scott Craner
@ user3287522, denken Sie, Sie versuchen, gefilterte Daten bei `G9 'zu kopieren! aber deine Quelldaten überlappen sich da der zu filternde Bereich G9: I22479 ist ??
Rajesh S
@ user3287522, ein weiteres Problem, das ich gefunden habe, sind die Kriterien. Die Art und Weise, wie Sie sie verwenden, ist falsch, auch wenn Sie sie nicht als verwenden können "True". Speichern Sie TRUE besser in der Zelle und ändern Sie die Befehlszeile wie folgt:Criteria1:=Range("E3").Value
Rajesh S