Sub 合并()
For Each sh In Sheets
sh.Select
For x = 1 To Range("a65536").End(xlUp).Row
If Range("d" & x).MergeArea.Rows.Count > 1 Then
s = Range("d" & x).MergeArea.Rows.Count
Range("d" & x) = "=SUMPRODUCT(" & Range("a" & x).Resize(s).Address(0) & "*" & Range("b" & x).Resize(s).Address(0) & ")/SUM(" & Range("a" & x).Resize(s, 2).Address(0) & ")"
x = x + s - 1
End If
Next
Next
End Sub
谢谢您的代码,有一点不太明白,SUM(" & Range("a" & x).Resize(s, 2).Address(0) & ")"中Resize(s, 2)里的2是什么作用呢,我修改列号后成为SUM(" & Range("G" & x).Resize(s, 2).Address(0) & ")"得到的正确结果,把括号里2删除成为Resize(s)也是一样的正确结果,求解