【发布时间】:2021-03-30 07:54:18
【问题描述】:
我有一个表“数据”,如果第 2 列中的值 = 1,我想根据条件在第 3 列中保存行值(显示行号)
下表显示以下信息。我想过滤这个表,只显示列 a、b、e(1、2、5 列顺序)。列的索引是从第一个表的第 3 列检索的,因为行的顺序与第二个表中的列的顺序相同。
我写了一个代码,但是,它只保存了 1 和 2 个值(来自第 3 列),但数字 5 也应该保存。 如何更改代码以从第一个表中获取正确的第三列值,然后过滤第二个表?
Dim ploeg As Range
Dim ploeg2 As Range
For v = 1 To 5
If rng.Cells(v, 2) = 1 Then
Set ploeg = Cells(v, 3)
If ploeg2 Is Nothing Then
Set ploeg2 = ploeg
Else
Set ploeg2 = Union(ploeg2, ploeg)
End If
End If
Next v
Worksheets("Sheet1").Range("E1").Resize(ploeg2.Rows.Count, ploeg2.Columns.Count).Cells.Value = ploeg2.Cells.Value
End Sub
【问题讨论】:
-
问题在于 ploeg2 将引用多个不连续的范围,而 ploeg2.Cells.Value 将只返回第一个范围的值,在本例中为 1,2。
-
但是我怎样才能从第 3 列中选择必要的值呢?