|
本帖最后由 lsc900707 于 2019-3-16 16:57 编辑
这样的问题自己要学会变通,否则难得有进步!也凑个热闹写一个:
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim brr(1 To 99999, 1 To 4)
- Set d = CreateObject("scripting.dictionary")
- If Target.Address = "$A$1" Then
- For Each sht In Sheets
- If InStr(sht.Name, "工资") Then
- arr = sht.[a1].CurrentRegion
- For i = 2 To UBound(arr)
- If arr(i, 6) = Target Then
- m = m + 1
- brr(m, 1) = m: brr(m, 2) = arr(i, 4): brr(m, 3) = arr(i, 7)
- For j = 6 To UBound(arr, 2)
- If arr(1, j) = "实发合计" Then
- brr(m, 4) = arr(i, j): sum = sum + arr(i, j)
- End If
- Next
- End If
- Next
- End If
- Next
- m = m + 1: brr(m, 1) = "合计": brr(m, 4) = sum
- If m > 0 Then
- [a1].CurrentRegion.Offset(2).Clear
- [a3].Resize(m, 4) = brr
- [a3].Resize(m, 4).Borders.LineStyle = 1
- End If
- End If
- End Sub
复制代码
|
评分
-
1
查看全部评分
-
|