0
下面的代碼是較大表單的一部分。我試圖做的是:基於列的1 Excel VBA從篩選範圍中選擇單元格
- 在片材2(數據列表)過濾數據3爲特定的行和粘貼到片材1(JHA)
我知道哪些行的數據是僅在過濾的列表,因爲我在2D陣列dataArr
Sheets("Data List").Select With Worksheets("Data List").Range("A1", Sheets("Data List").Range("C1").End(xlDown)) .AutoFilter field:=1, Criteria1:=UserForm1.ListBox3.List(k) 'filter data based on user listbox selection For j = 0 To UserForm1.ListBox1.ListCount - 1 'Find user selection from LB3 in LB1 to match filtered data order If UserForm1.ListBox3.List(k) = UserForm1.ListBox1.List(j) Then Exit For Next j For h = 0 To UBound(dataArr, 2) If dataArr(j, h) = 1 Then 'If the user has selected they want this data then add it to the array Set myRange = Sheets("Data List").AutoFilter.Range().SpecialCells(xlCellTypeVisible) myRange.Select arr1(l) = myRange.Cells(h + 2, 2) arr2(l) = myRange.Cells(h + 2, 3) l = l + 1 End If Next h .AutoFilter
存放該位後代碼I redimension數組並粘貼數據其他表。我的問題是,myRange.cells是從未經過濾的數據中進行選擇。舉例來說,我的過濾數據集包括第7,11,15和21行。當我過濾它並設置myRange時,它將突出顯示4行加上標題。但是,當我使用單元格(2,2)時,我得到了未過濾的第2行第2列數據,而不是我的過濾數據集。我確信我錯過了一些簡單的東西,但我看不到它是什麼。
@mylesMoose,你通過它得到什麼? – user3598756
感謝您的回答。非常乾淨的方式去通過它。我沒有關於過濾範圍不連續。 – mylesMoose
不客氣。您可能希望將答案標記爲已接受。謝謝! – user3598756