Memindahkan data yang difilter ke dalam array variabel varian

0

Saat ini saya mencoba mengotomatiskan tugas manual. Saya telah memfilter data saya dan ini berfungsi dengan baik jika saya menyalin dan menempelkan rentang yang terlihat ke lembar lain. Saya mencoba untuk menulis data yang terlihat ke dalam array variabel varian. Saya ingin menyimpan ini di memori dan daripada menulis ini ke kisaran. Setiap kali saya melakukan ini, saya mendapatkan #NAs. Pikiran dan saran Anda dihargai.

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
sumber
Anda perlu mengulangi area, lalu baris di setiap area menambahkan setiap sel secara individual. Atau Iterasi semua baris dan tambahkan jika terlihat. Mungkin lebih cepat untuk menyalin dan menempel yang terlihat kemudian memuat rentang baru ke dalam array.
Scott Craner
Halo Scot Saya ingin memuat ini ke dalam varian array, untuk menyimpannya sebagai memori, dan itu juga elemen pembelajaran. Saya sedikit bingung bagaimana ini bisa dilakukan
user3287522
Seperti komentar terakhir saya katakan, Anda tidak dapat melakukannya secara massal. Saya memberi Anda tiga opsi tentang cara melakukannya.
Scott Craner
@ user3287522, kira Anda mencoba menyalin data yang difilter di `G9 '! tapi data sumber Anda tumpang tindih karena Range to filter adalah G9: I22479 ??
Rajesh S
@ user3287522, satu masalah lagi yang saya temukan adalah Kriteria ,, cara Anda menggunakan itu salah bahkan Anda tidak dapat menggunakannya "True". Lebih baik menyimpan TRUE dalam sel dan memodifikasi baris perintah sebagai, Criteria1:=Range("E3").Value
Rajesh S