我正在尝试根据同一工作簿(MS Excel)中的工作表1数据过滤工作表2数据。这是我的要求,我在第一个工作表中有数据,其中包含100个记录,并且它有员工ID作为密钥,但此表将包含与员工个人信息相关的数据,如姓名,年龄。但是,第二张表格将包含该特定员工的更多信息,例如体验详细信息。因此,我想为用户提供用户点击员工ID的功能,然后它将重定向到带有过滤数据的另一个工作表。
以下是可在同一工作簿中的两个不同工作表中使用的示例数据:
第1页
ABC | 123 | 23 | M |
BCD | 234 | 25 | F |
第2页
123 |王牌| 4
123 |技术| 5
234 |王牌| 4
如果我在表单1中单击123,那么它应该将我重定向到表2并仅过滤123条记录。
如果有人知道答案,那么请尽快回复,因为我需要通过Java代码构建此功能。但是,在启动代码之前,我应该知道excel是否可行。
答案 0 :(得分:0)
我假设您的Sheet1数据从A1单元格开始,而Employee ID
位于column b
我还假设sheet2数据从单元格A1开始,Employee ID
位于Column A
。
使用以下子项根据sheet1员工ID过滤sheet2的数据。 使用sheet1 Worksheet_Change
事件中的代码不在Sheet2
。
使用方法: 您需要在Sheet1 double click
单元格中Employee ID
,然后按Enter
或Tab
键。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastUsedRow As Long
Dim FilterCriteria As Variant
If Not Application.Intersect(Target, Range("B1:B10")) Is Nothing Then
FilterCriteria = Target.Value
LastUsedRow = Sheets("Sheet2").Range("A1").End(xlDown).Row
Sheets("Sheet2").Range("A1:C" & LastUsedRow).AutoFilter Field:=1, Criteria1:=FilterCriteria
Sheets("Sheet2").Select
End If
End Sub
有关更多说明,请参阅以下屏幕截图。