Запись макроса - действительно хитрость в любых проблемах форматирования в Excel.
Таким образом, после записи одного и выполнения форматов вы можете увидеть это:
Sub Makro1()
Selection.NumberFormat = "#,##0.00"
Range("C6").Select
End Sub
с некоторой очисткойвне выбора и с использованием заданного диапазона он становится таким:
Sub TestMe()
[ExcelTestRange].NumberFormat = "#,##0.00"
End Sub
Еще один , возможно, лучший вариант - построить формулу в Excel через VBA. Это делается так:
Sub TestMe()
[ExcelTestRange].Formula = "=TEXT(INDIRECT(ADDRESS(ROW(),COLUMN()-1)),""0,000.00"")"
End Sub
Сложно правильно составить формулу, особенно если вы используете не английский Excel, а что-то другое. Самый простой трюк - выбрать уже работающую формулу и запустить следующий код:
Public Sub PrintMeUsefulFormula()
Dim selectedFormula As String
Dim parenthesis As String
parenthesis = """"
selectedFormula = Selection.Formula
selectedFormula = Replace(selectedFormula, """", """""")
selectedFormula = parenthesis & selectedFormula & parenthesis
Debug.Print selectedFormula
End Sub