{quote}{login=Казанский}{date=16.12.2011 03:31}{thema=}{post}Test,
задача-то была "не слаживать текст с числами(если вдруг зацепили и ячейку с текстом)", а Application.Sum проигнорирует такие ячейки.{/post}{/quote}
Видимо я не до конца понимаю "смысл не слаживать текст". В процессе выяснилось, что мой предыдущий код цеплял все ячейки, даже скрытые. Поправил. А так же если выделить одну ячейку (даже пустую) выдаёт некое непонятное число явно не стоящее в выделенной ячейке. При этом если выделить одну ячейку с числом и с чем то ещё (текст, пустая), то считает верно. Пока у меня получается так:
Sub Sum()
If TypeName(Selection) <> "Range" Then Exit Sub
Total = 0
Total = Application.Sum(Selection.SpecialCells(xlCellTypeVisible))
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText Total
.PutInClipboard
End With
Application.StatusBar = "Сумма активных ячеек = " & Trim(Format(Total, "### ### ### ### ### ##0.000")) & " значение помещено в буфер обмена"
End Sub
задача-то была "не слаживать текст с числами(если вдруг зацепили и ячейку с текстом)", а Application.Sum проигнорирует такие ячейки.{/post}{/quote}
Видимо я не до конца понимаю "смысл не слаживать текст". В процессе выяснилось, что мой предыдущий код цеплял все ячейки, даже скрытые. Поправил. А так же если выделить одну ячейку (даже пустую) выдаёт некое непонятное число явно не стоящее в выделенной ячейке. При этом если выделить одну ячейку с числом и с чем то ещё (текст, пустая), то считает верно. Пока у меня получается так:
Sub Sum()
If TypeName(Selection) <> "Range" Then Exit Sub
Total = 0
Total = Application.Sum(Selection.SpecialCells(xlCellTypeVisible))
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText Total
.PutInClipboard
End With
Application.StatusBar = "Сумма активных ячеек = " & Trim(Format(Total, "### ### ### ### ### ##0.000")) & " значение помещено в буфер обмена"
End Sub