Подтвердить что ты не робот

Как изменить формат ячейки в тексте с помощью VBA

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

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

В настоящее время я копирую все данные в Блокнот, а затем сохраняю их обратно на лист Excel, чтобы удалить весь предыдущий формат. Есть ли способ автоматизировать установку форматирования ячейки в текст с помощью VBA?

4b9b3361

Ответ 1

Чтобы ответить на ваш прямой вопрос, это:

Range("A1").NumberFormat = "@"

или

Cells(1,1).NumberFormat = "@"

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

Ответ 2

Ну, это должно изменить формат на текст.

Worksheets("Sheetname").Activate
Worksheets("SheetName").Columns(1).Select 'or Worksheets("SheetName").Range("A:A").Select
Selection.NumberFormat = "@"

Ответ 3

Один момент: вы должны установить свойство NumberFormat ПЕРЕД загрузкой значения в ячейку. У меня было девятизначное число, которое все еще отображалось как 9.14E + 08, когда NumberFormat был установлен после загрузки ячейки. Устанавливая свойство перед загрузкой значения, количество отображалось так, как я хотел, как прямой текст

ИЛИ

Не могли бы вы сначала попробовать автозапуск.
 Excel_Obj.Columns( "А: В" ). EntireColumn.AutoFit