更新时间2021-10-31 18:03:09
表1:如下表2中,A1单元格为男,要在表1中查询 到性别与表2中A1相同的所有数据,并显示在表2,不能覆盖表2中的A1单元格。要实现结果如下图
如图,假设你的表1名称是Sheet1,表2名称是Sheet2。
按下Alt+F11调出VBA代码页,在Sheet2的代码页中输入下列代码即可。
这代码的作用是监视Sheet2中A1单元格的更改,当此单元格发生更改时,会自动刷新查询数据,可改为"男"或"女"或是为空等。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim I As Integer, J As Integer
Dim S As String
If Target.Address = "$A$1" Then
'清空原数据
I = 0
Do
I = I + 1
If Len(Sheet2.Range("A" & I + 2)) = 0 Then Exit Do
Loop
Sheet2.Range("A3:E" & I + 2).ClearContents
'刷新查询数据
S = Target
If S <> "" Then
I = 1
J = 2
Do
I = I + 1
If Len(Sheet1.Range("A" & I)) = 0 Then Exit Do
If Sheet1.Range("A" & I) = S Then
J = J + 1
Sheet2.Range("A" & J) = Sheet1.Range("A" & I)
Sheet2.Range("B" & J) = Sheet1.Range("B" & I)
Sheet2.Range("C" & J) = Sheet1.Range("C" & I)
Sheet2.Range("D" & J) = Sheet1.Range("D" & I)
Sheet2.Range("E" & J) = Sheet1.Range("E" & I)
End If
Loop
End If
End If
End Sub
上一篇:依次挑选出符合条件的单元格数据
下一篇:按键精灵计数语句