|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
lyq110808 发表于 2014-1-23 16:02
现增加附件如下
附件里上面是用公式完成基本信息的查询,即当输入姓名自动查询到基本信息。
这样下面的劳保领用信息使用按钮查询就不合适,不统一。因此改用工作表事件完成,当姓名输入完成时,下面的信息也立刻查询完成。在查询表中添加下面的worksheet_change 事件代码
- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Address <> "$B$3" Then Exit Sub
-
- Application.EnableEvents = False
-
- Dim arr, tarr(), i%, j%, n%, xrow%
- n = 1
- arr = Sheets("劳保领用").[a1].CurrentRegion
- ReDim tarr(1 To UBound(arr), 1 To UBound(arr, 2))
- With Sheets("查询")
- xrow = .Cells(.Rows.Count, 1).End(xlUp).Row
-
- For i = 1 To UBound(arr)
- If arr(i, 2) = .Cells(3, 2).Value Then
-
- For j = 1 To UBound(arr, 2)
- tarr(n, j) = arr(i, j)
- Next
- n = n + 1
- End If
- Next
- If xrow > 8 Then .Range(.Cells(8, "a"), .Cells(xrow, "g")).ClearContents
-
- .Cells(8, "a").Resize(n, UBound(tarr, 2)) = tarr
- End With
- Application.EnableEvents = True
- End Sub
复制代码 |
|