Excel (VBA?) - пользовательские форматы ячеек, число и интервал между текстами - PullRequest
1 голос
/ 13 марта 2019

Я работаю над таблицей Excel, которая отслеживает номера отчетов.Все номера отчетов имеют одинаковую последовательность.XX ######## X ##, где X - это буква, а # - это цифра от 0 до 9. Все номера отчета состоят из 2 букв, за которыми следуют 8 цифр, затем 1 буква, а затем еще 2 цифры.

Цифры / буквы не случайны, но указывают на то, что содержится в отчете.Поэтому принято ссылаться на них в определенной последовательности: XX ### ##### X ##.Как вы можете видеть, эта схема намного проще для мозга, чем выше.Например, как все телефонные номера произносятся в определенном шаблоне ### - #### или как SS ### ## ####.

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

В Excel встроены параметры форматирования ячеек (Формат ячеек> Пользовательский).Я могу использовать для создания шаблона расстояния, используя ноль (0).Например, если все мои отчеты о файлах были числами «1234567891234», я могу ввести пользовательский шаблон как «00 000 00000 000», и он «отобразит» «12 345 67891 234».Однако я не могу заставить это работать с текстом и числами.Я пытался "*", "@", "?"но не повезло.Я не могу найти решение в VBA, но я подозреваю, что это путь.Спасибо!

1 Ответ

1 голос
/ 14 марта 2019

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

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

=LEFT(A1,2)&" "&MID(A1,3,3)&" "&MID(A1,6,5)&" "&RIGHT(A1,3)

или

=REPLACE(REPLACE(REPLACE(A1,11,0," "),6,0," "),3,0," ")

enter image description here

...