|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim ws As Worksheet
- If Target.Address(0, 0) = "B3" Then
- Set ws = Sheets("报表")
- arr = ws.[B3:I6]
- With Sheets("全月报表汇总")
- For j = 3 To .Cells(Rows.Count, 1).End(3).Row
- If Val(ws.[d1]) = Val(.Cells(j, 1)) Then
- For i = 1 To UBound(arr)
- c = (i - 1) * 8 + 1
- For k = 1 To UBound(arr, 2)
- .Cells(j, c + k) = arr(i, k)
- Next k
- Next i
- Exit For
- End If
- Next j
- End With
- End If
- End Sub
复制代码
看到你的D1虽然是些的公式,但是值也是引用的$B$3这个绝对位置的值,所以把带代码换到Sheet3的Change事件里,B3变化是触发事件。上面是代码,可以通过,不知道是不是你要的,大概是这个意思 |
|