Excel VBA Макросы: Как преобразовать число в число?

Автор Anton, 20 апреля 2017, 16:34

Anton

У меня есть ячейки с числами, Excel 2010 говорит, что числа сохранены не в числовом формате. Если нажать на восклицательный знак слева, то можно содержимое преобразовать в числовой формат, а вот если выделить сразу несколько таких ячеек, то слева нет восклицательного знака.

Можно ли написать макрос, который преобразует содержимое ячеек в числовой формат, если это возможно, т.е. если в ячейке находится цифра.

[вложение удалено администратором]

Администратор

Без макроса

Способ 1

Сначала выделите ячейку, в которой ошибка, затем мышью выделите остальные ячейки. После этого будет подсказка, с помощью которой можно преобразовать числа в числа.

Способ 2

Этот способ работает только с одним столбцом. Это обходной вариант, не имеющий здравого смысла, но работающий.

  • Сделайте у ячеек нужный формат (вкладка "Главная" - группа "Число" - список с форматами);
  • выделите столбец, в котором нужно сделать преобразование. Если таблица начинаются не с первой строки, то выделите не весь столбец, а начиная с той строки, с которой начинается таблица;
  • вкладка "Данные" - группа "Работа с данными" - Текст по столбцам - Готово.
Этот способ предлагают на официальном сайте майкрософта: https://support.office.com/ru-RU/article/Преобразование-чисел-из-текстового-формата-в-числовой-40105f2a-fe79-4477-a171-c5bad0f0a885
По этой ссылке есть ещё один извращённый способ (умножение на 1). Он позволяет преобразовать несколько столбцов.
[свернуть]

С помощью макроса

У ячеек сделайте нужный формат ячеек (вкладка "Главная" - группа "Число" - список с форматами). А затем примените этот макрос.
Макрос работает с выделенным фрагментом.

Sub Макрос()
    Selection.Value = Selection.Value
End Sub
[свернуть]

Anton