Как уменьшить ширину столбца с помощью многострочных пользовательских числовых форматов? - PullRequest
0 голосов
/ 11 июня 2018

Я обнаружил хитрость, но Excel не хочет полностью сотрудничать ... но, возможно, есть обходной путь ...?

Я часто сталкиваюсь с датой / временем в "высокой строке"(поскольку другие столбцы многострочные):

img 1-line

... и я хотел бы сэкономить вертикальное пространство, разделив дату / время на 2 строки , сохраняя при этом однозначное числовое значение по причинам сортировки и т. Д .:

img 2-line


Я понял, что это можно сделать с помощью␊LineFeed символ в пользовательском формате , одним из двух способов:

Метод № 1: На клавиатуре с цифровой клавиатурой:

  1. Выберите ячейку со значением.

  2. Нажмите Ctrl + 1 , чтобыОткройте диалоговое окно Числовые форматы .

  3. Выберите категорию Custom и затем в текстовом поле Type::

    • Введите первую часть вашего пользовательского формата , т.е.yyyy-mm-dd
    • Удерживая нажатой Alt , введите 0010 на цифровой клавиатуре , а затем отпустите Alt
    • Введите вторую часть вашего пользовательского формата, т.е.HH:mm am/pm
  4. Нажмите Введите .

  5. Перетащите между заголовками строк, чтобы сделать строку в два раза длиннее:
    imgdrag

  6. Если Wrap Text еще нетнажмите на вкладку Home на ленте: imgWordWrap


? Alt + 0010 входит в␊LineFeed символ.

Примечание: Поскольку Excel не ожидает этот символ, первая строка , введенная вами в поле Type, исчезнеткак только вы введете символ ␊LineFeed.Нет способа увидеть его в диалоге (без удаления ␊LineFeed), но он все еще там.


Метод # 2: Наклавиатура без цифровой клавиатуры и / или с использованием VBA:

В редакторе VBA, либо в вашей процедуре, либо в Немедленное окно ( Ctrl + G ), вы можете установить числовой формат для A1 с чем-то вроде:

Range("A1").NumberFormat="yyyy-mm-dd" & vbLf &  "HH:mm am/pm"

... затем настроить высоту строки и убедитесь, что Wrap Text включен, через VBA или с шагами # 5 и 6 выше.

? vbLf (или Chr(10)) представляет собой символ ␊LineFeedв VBA.


Моя проблема:

Это круто, но кажется, что Excel по-прежнему обрабатывает значение, как будто это одна длинная строка в одной строке .

Это подтверждается:

  • двойным щелчком между заголовками столбцов, чтобы AutoFit столбец:
    Столбец больше не «сжимается».
  • двойной щелчок между заголовками строк до Автоподбор строк:
    Строка делаетне «увеличиваться до двойной высоты».
  • вручную перетаскивая столбец в более узкий размер.
    Excel «считает», что значение не подходит:

    Img ###### Error img


Есть какие-нибудь идеи для обходного пути?

Возможно, естьКак заставить Excel отображать частичные значения вместо ######, если отформатированное числовое значение не подходит?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Вы должны сжать это.См. Правку ОП здесь:

Предотвращение появления знаков хеша (#) в Excel без изменения формата или ширины ячейки

1) Перейдите на вкладку «Выравнивание» в «Формат»Ячейки диалога.2) Выберите «Shrink to fit».3) Выберите «Wrap text».4) Нажмите «ОК».

enter image description here

Excel по-прежнему будет автоматически изменять размер столбца до ~ 139 пикселей, но вы можете перетащить ширину столбца до ~71 пикселей и по-прежнему видны обе линии.

0 голосов
/ 11 июня 2018

Убедитесь, что включена функция Сжатие по размеру

Перейдите: щелкните правой кнопкой мыши ячейку -> Формат ячеек -> Выравнивание -> Сжать, чтобы подогнать

Right click on cell

Click Shrink to Fit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...