Страницы: 1
RSS
Создать комментарий с содержимым формулы, а формулу превратить в значение(КопиПаст)
 
Подскажите пожалуйста макрос создающий комментарий к активной ячейки(группе выделенных) ячеек.
Нужно получить ячейку со значением а не формулой на том же месте, а формулу переместить в комментарий. А если несколько выделенных ячеек, то нужно вставить комментарий к каждой
Изменено: Dobepman - 18.01.2019 09:47:37
 
Код
Sub FormulaToComment()
Dim cl As Range
On Error Resume Next
For Each cl In Selection
    If cl.HasFormula = True Then
        cl.Comment.Delete
        cl.AddComment Text:=cl.Formula
        cl.Value = cl.Value
    End If
Next
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Спасибо, то что нужно, но маленький нюанс-при наличии названий формул макрос превращает их в
английские слова (Например СЦЕПИТЬ в CONCATENATE и т.д.), а нужно полностью
идентично. Забыл добавить в вопрос: содержимое помещаемое в комментарий еще
нужно копировать в буфер т.к. понадобиться вставлять в другое место.
 
Цитата
Dobepman написал:
превращает их ванглийские слова
F1, F1 и еще раз F1 :)
Код
cl.AddComment Text:=cl.FormulaLocal

Цитата
Dobepman написал:
содержимое помещаемое в комментарий ещенужно копировать в буфер
И как помещать в буфер, если выделен диапазон из 100 ячеек?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Доброе время суток
Цитата
Дмитрий(The_Prist) Щербаков написал:
если выделен диапазон из 100 ячеек
Дмитрий, можно с разделителем по столбцам VbTab, а по строкам VbCrLf, используя DataObject.
 
Андрей VG, ну это да. Меня интересовало как это видит автор :) Куда потом это все вставлять планируется не совсем ясно.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Sanja, Дмитрий(The_Prist) Щербаков, спасибо. А как в обратном направлении?
 
А подробнее? И файл-пример
Согласие есть продукт при полном непротивлении сторон
 
Так?
Код
Sub FormulaFromComment()
Dim cl As Range
On Error Resume Next
For Each cl In Selection
    If Not cl.Comment Is Nothing Then
        cl.FormulaLocal = cl.Comment.Text
    End If
Next
End Sub
Согласие есть продукт при полном непротивлении сторон
 
После действия макроса имеем коментарий содержащий формулу, нужно эту формулу вернуть в ячейку
Sanja, то-что нужно спс
Страницы: 1
Наверх