Здравствуйте! Подскажите каким кодом в VBA можно выполнить операцию, выполняемую "руками" в Excel следующим образом: В некоторых ячейках, содержащих числа есть зелёный треугольничек сверху слева в самой ячейке. И при выборе такой ячейки, рядом появляется восклиц. значёк. При нажатии на восклиц. значёк, выпадает списочек для выбора. Нужно выбрать не "Число сохранено как текст", а "Преобразовать в число".
Если прописать: Selection.NumberFormat = "#,##0.00" , то это хоть и меняет формат ячейки на числовой, но выглядит он как текстовый (например, "019" всё так же имеет ноль впереди)
Буду благодарен ответам.
Здравствуйте! Подскажите каким кодом в VBA можно выполнить операцию, выполняемую "руками" в Excel следующим образом: В некоторых ячейках, содержащих числа есть зелёный треугольничек сверху слева в самой ячейке. И при выборе такой ячейки, рядом появляется восклиц. значёк. При нажатии на восклиц. значёк, выпадает списочек для выбора. Нужно выбрать не "Число сохранено как текст", а "Преобразовать в число".
Если прописать: Selection.NumberFormat = "#,##0.00" , то это хоть и меняет формат ячейки на числовой, но выглядит он как текстовый (например, "019" всё так же имеет ноль впереди)
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba] Выделяете нужный диапазон и запускаете макрос.
Я юзаю такой код: [vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba] Выделяете нужный диапазон и запускаете макрос.DJ_Marker_MC