[/vba] то всё нормально форматируется. Пытаюсь то же самое сделать макросом:[vba]
Код
Sub FORMAT_W_PLUS() With ActiveWindow.RangeSelection: .NumberFormat = "[>999999]# ##0,0 "" MW"";[>999]# ##0,0 "" kW"";# ##0,0"" W""" Debug.Print .NumberFormat End With End Sub
[/vba] В окне Immediate получаю то, что и хотел: [vba]
[/vba] то всё нормально форматируется. Пытаюсь то же самое сделать макросом:[vba]
Код
Sub FORMAT_W_PLUS() With ActiveWindow.RangeSelection: .NumberFormat = "[>999999]# ##0,0 "" MW"";[>999]# ##0,0 "" kW"";# ##0,0"" W""" Debug.Print .NumberFormat End With End Sub
[/vba] В окне Immediate получаю то, что и хотел: [vba]
У меня так работает, то есть разделитель разрядов запятая, а десятичный точка [vba]
Код
Sub FORMAT_W_PLUS() With ActiveWindow.RangeSelection: .NumberFormat = "[>999999]#,##0.0,,"" MW"";[>999]#,##0.0,"" kW"";#,##0.0"" W""" Debug.Print .NumberFormat End With End Sub
[/vba]
У меня так работает, то есть разделитель разрядов запятая, а десятичный точка [vba]
Код
Sub FORMAT_W_PLUS() With ActiveWindow.RangeSelection: .NumberFormat = "[>999999]#,##0.0,,"" MW"";[>999]#,##0.0,"" kW"";#,##0.0"" W""" Debug.Print .NumberFormat End With End Sub
Лена, спасибо за вариант. Саня, а ты как всегда - супермозг! Только вот я что-то не пойму, почему нужно использовать не .NumberFormat, а .NumberFormatLocal ? И вообще, при чём тут Local, когда в задаваемом мною формате только латиница? Я понимаю разницу между Formula и FormulaLocal … Но вот при NumberFormat ???
Лена, спасибо за вариант. Саня, а ты как всегда - супермозг! Только вот я что-то не пойму, почему нужно использовать не .NumberFormat, а .NumberFormatLocal ? И вообще, при чём тут Local, когда в задаваемом мною формате только латиница? Я понимаю разницу между Formula и FormulaLocal … Но вот при NumberFormat ??? Alex_ST
Только вот я что-то не пойму, почему нужно использовать не .NumberFormat, а .NumberFormatLocal ? И вообще, при чём тут Local, когда в задаваемом мною формате только латиница?
Пользовательский интерфейс Excel'я локализован на использование "наших" спец. символов (десятичн. разделитель, разделитель разрядов, ...) VBA-же не локализован и оперирует "родными" символами.
ставлю твой формат в ячейке, переходим в VBE (в Immediate): [vba]
Только вот я что-то не пойму, почему нужно использовать не .NumberFormat, а .NumberFormatLocal ? И вообще, при чём тут Local, когда в задаваемом мною формате только латиница?
Пользовательский интерфейс Excel'я локализован на использование "наших" спец. символов (десятичн. разделитель, разделитель разрядов, ...) VBA-же не локализован и оперирует "родными" символами.
ставлю твой формат в ячейке, переходим в VBE (в Immediate): [vba]
Саня, спасибо за обучение. Попробую не забыть, когда это снова понадобится Хотя раз процедуру написал и закинул её себе в Персонал, то вспомню и смогу слепить по аналогии, когда ещё раз понадобится.
Саня, спасибо за обучение. Попробую не забыть, когда это снова понадобится Хотя раз процедуру написал и закинул её себе в Персонал, то вспомню и смогу слепить по аналогии, когда ещё раз понадобится.Alex_ST