Изменение формата ячейки для выбраного диапазона [РЕШЕНО]

Автор Aleksandr H., 15 октября 2014, 20:55

0 Пользователи и 1 гость просматривают эту тему.

Aleksandr H.

В соседней теме решали как пофиксить проблему когда в ячейку вписали формулу, а формат етой ячейки "Текстовый". Приходится менять тип ячейки и редактировать формулу - rami предлагает переписать формулу, я же переписываю последний символ. А что если написать макроса и навесить его на комбинацию клавиш?  8-) Написал макроса, который делает нужные действия, но только с активной (выбраной) ячейкой. Как сделать что-бы действие макроса распространялось на выделеный диапазон ячеек? Или есть решение вопроса стандартными средствами scalc'a?

sub ChangeCellFormat
dim oCell as object
dim cellFormula as string
oCell = ThisComponent.getCurrentSelection
cellFormula = oCell.formula
oCell.NumberFormat = 1
oCell.Formula = cellFormula
end sub

rami

Я не знаю зачем эти игры с форматами, Calc сам безошибочно определяет, где число, а где текст.
Вот макрос для диапазона:
Sub ChangeCellsFormat
dim oCell as object
dim cellFormula as string
oCell = ThisComponent.CurrentSelection
For i=0 To UBound(oCell.FormulaArray)
For j=0 To UBound(oCell.FormulaArray(i))
cellFormula = oCell.FormulaArray(i)(j)
oCell.NumberFormat = 1
oCell.getCellByPosition(j,i).Formula = cellFormula
Next
Next
End Sub

Этот макрос пробегает по всем ячейкам выбранного прямоугольного диапазона без проверки содержимого ячейки.

Aleksandr H.

Проблема не в выборе текст-число, а в том чтобы не было как на этом видео.
По сабжу - макрос работает как нужно