Как изменить формат ячейки на текст, используя VBA

37

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

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

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

  • 4
    "Чей формат ячейки всегда меняется" ?? Пожалуйста, покажите нам пример.
Теги:
excel-vba

3 ответа

73
Лучший ответ

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

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

или

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

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

8

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

Worksheets("Sheetname").Activate
Worksheets("SheetName").Columns(1).Select 'or Worksheets("SheetName").Range("A:A").Select
Selection.NumberFormat = "@"
  • 21
    Нет необходимости активировать или выбирать перед изменением NumberFormat - просто используйте что-то вроде Sheets (1) .Columns (1) .NumberFormat = "@"
2

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

ИЛИ

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

  • 0
    Вы действительно помогли мне с этим советом о наборе NumberFormat, прежде чем устанавливать значение! Txs!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню