Sub MakeSum(sBookName As String, sSheetName As String)
Dim rMyRange As Range
Set rMyRange = Workbooks(sBookName).Sheets(sSheetName).Range("H11:H32")
If rMyRange.Parent.Parent.Name = ActiveWorkbook.Name Then
With ActiveSheet
'same sheet, so just use address
If rMyRange.Parent.Name = .Name Then
.Range("B2").Formula = "=SUM(" & rMyRange.Address & ")"
Else
'same workbook, different sheet, so prepend sheet name
'single quotes prevent error when there's a space in the sheet name
.Range("B2").Formula = "=SUM('" & rMyRange.Parent.Name & "'!" & rMyRange.Address & ")"
End If
End With
Else
'not the same workbook, use external address
ActiveSheet.Range("B2").Formula = "=SUM(" & rMyRange.Address(, , , True) & ")"
End If
End Sub
不,我已经尝试过与实际..我想通过这种粘贴以字符串编辑单元格...我需要的...如果我这样做“=”&范围1它的工作原理..这是奇怪的..所以当我添加一个Excel函数将停止工作... – Matias 2011-05-18 11:58:12
这是错误的。 'MyRange'是一个变量,该行将正确计算为= = SUM([MyRange的值])。其他答案解释了如何解决这个问题。 – Gaffi 2012-07-26 13:48:06