Как отключить отображение символа решетки в Excel, если ячейки слишком малы?

Как отключить отображение символа решетки в Excel, если ячейки слишком малы?

Время от времени меня раздражает тот факт, что Excel заменяет содержимое ячеек на «######» для определенных числовых форматов, когда ячейка слишком мала.

До сих пор это не было серьезной проблемой, пока не возникли проблемы с выводом моих макросов, которые полагаются на отображаемый текст, т. е. символ валюты, который не является частью данных в ячейке.

Есть ли способ отключить эту функцию и сделать так, чтобы цифры обрезались или выходили за пределы, как это происходит с текстом?

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

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

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

решение1

Автоматически подберите ширину столбца перед тем, как ссылаться на текст ячейки.

например

With ActiveCell
    .EntireColumn.AutoFit
    Debug.Print .Text
End With

решение2

Вы можете отформатировать ячейки/столбцы/что-угодно как ТЕКСТ перед вводом данных (или после, приложив некоторые усилия для устранения некоторых эффектов, которые Excel, возможно, уже сделал, например, отобразив их в экспоненциальном представлении).

Таким образом, вы получите эффект «обрезки» и не измените видимое форматирование на научную запись или знаки диеза.

В БОЛЬШИНСТВЕ случаев использования этих чисел в последующих вычислениях Excel с радостью интерпретирует их как числа, даже если форматирование ТЕКСТОВОЕ. Поэтому добавление их к чему-либо и т. д. будет работать хорошо.

Функции вроде не будут. Для них это решится SUM()обертыванием диапазона или ссылки на ячейку в функцию: прекрасно суммирует все такие данные в диапазоне.VALUE()SUM(VALUE(A1:B5))

Однако любая функция (или команда меню и т. д.), которая логически может обнаружить важное различие между текстом и числом, не сможет выполнить это без дополнительных шагов. Например, функции поиска. Или использование функции фильтрации меню Ribbon будет видеть все, что отформатировано как текст, отличным от отформатированных как числа или вообще.

Итак, =IFERROR(VLOOKUP(VALUE(A1),B1:E4,2,FALSE),VLOOKUP(A1,B1:E4,2,FALSE))это может решить проблему, хотя может потребоваться что-то более сложное, если поиск более сложный.

Наконец, все ставки отменены при использовании данных в сводных таблицах, в Power Pivot или в Power Query. (PQ является наименее сомнительным из них.)

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

Связанный контент