Thread
:
ActiveSheet.Name?
View Single Post
#
2
Posted to microsoft.public.excel.programming
Chip Pearson
external usenet poster
Posts: 7,247
ActiveSheet.Name?
A better solution is
Sub CopySum()
Dim Arr As Variant
Dim N As Long
Dim MyDataObj As New DataObject
Dim str As String
Arr = Split(Selection.Address, ",")
For N = LBound(Arr) To UBound(Arr)
str = str & "," & Selection.Worksheet.Name & "!" & Arr(N)
Next N
str = Mid(str, 2)
MyDataObj.SetText "=sum(" & str & ")"
MyDataObj.PutInClipboard
End Sub
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
"Chip Pearson" wrote in message
...
Andrew,
Try the following:
Sub CopySum()
Dim MyDataObj As New DataObject
Dim str As String
str = Selection.Worksheet.Name & "!" & Selection.Address
MyDataObj.SetText "=sum(" & str & ")"
MyDataObj.PutInClipboard
End Sub
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
"Andrew Stedman" wrote in message
...
Hi all,
I have the following macro that sums any cells that I select:
Sub CopySum()
Dim MyDataObj As New DataObject
Dim str As String
str = Selection.Address
MyDataObj.SetText "=sum(" & str & ")"
MyDataObj.PutInClipboard
End Sub
The macro works fine but I would like to be able to paste the
result into
another worksheet. At the moment if I say select cells A1 and
B1, the result
would be "=sum($A$1,$B$1)" when I hit paste. When I go to the
next worksheet
and paste, the resulting formula obviously doesnąt work as the
cell
references do not include the original sheet name.
Ive tried adding ActiveSheet.Name to the macro but I couldnąt
work out how
to add the sheet name before each cell I selected.
Any help greatly appreciated.
Andrew.
Reply With Quote
Chip Pearson
View Public Profile
Find all posts by Chip Pearson