我在这一天的大部分时间里一直在努力解决这个问题,并且在这个过程中使用来自网络的借用代码设法使Excel 2010崩溃了几次。
我有一个表(见下文),其中包含一列名为“ID”的唯一值。我还有一个ID列表,例如[2 5 7 8]这是表格中的一部分。我只想显示与子集中的条目相对应的表条目。
我确信它一定可以,但我的VB技能有限。
ID A__ B ____ C _
1, 1.1, 2.1, -2.1
2, 1.2, 2.2, -2.1
3, 1.3, 2.3, -2.1
4, 1.4, 2.4, -2.1
5, 1.5, 2.5, -2.1
6, 1.6, 2.6, -2.1
7, 1.7, 2.7, -2.1
8, 1.8, 2.8, -2.1
有人可以为此提出解决方案吗?
由于 亚历
答案 0 :(得分:1)
在VBA中没有必要这样做。
只需添加另一列并使用以下公式填充:(假设它从第2行开始,ID在A列中,并且您选择的ID列表在Sheet2中!A1:A10 - 相应地调整)
=--NOT(ISERROR(MATCH(A2,Sheet2!$A$1:$A$10,0)))
复制此公式。对于列表中具有ID的每一行,此公式将返回TRUE - 否则为FALSE。现在你只需要应用一个自动过滤器和过滤器为TRUE - 完成! : - )
如果您将此代码放在工作表中,您的选择将自动更新:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("A1:A10")) Is Nothing Then Exit Sub
With Worksheets("Sheet1")
.AutoFilterMode = False
On Error Resume Next
.Range("$A:$C").AutoFilter Field:=3, Criteria1:="1"
End With
End Sub