![如何使用 VBA Excel 中的 Set 将过滤后的列数据分配给变量?](https://linux22.com/image/785677/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20VBA%20Excel%20%E4%B8%AD%E7%9A%84%20Set%20%E5%B0%86%E8%BF%87%E6%BB%A4%E5%90%8E%E7%9A%84%E5%88%97%E6%95%B0%E6%8D%AE%E5%88%86%E9%85%8D%E7%BB%99%E5%8F%98%E9%87%8F%EF%BC%9F.png)
我是 VBA Excel 新手。我正在尝试使用放将过滤列中的一些数据(通过自动过滤)分配给变量(X在这种情况下)。下面显示了表格的代码和图像。
Sub Test()
Dim X As Variant
Worksheets("Sheet1").Range("B2").AutoFilter _
Field:=2, _
Criteria1:="1"
With Worksheets("Sheet1")
Set X = .Range("D3:D" & .Cells(.Rows.Count, "D").End(xlUp).Row)
End With
End Sub
过滤工作如我预期的那样。然而,我最终将 D3:D23 范围内的所有未过滤数据设置为X。如何将 D 列的筛选数据分配给X?