Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2018, 00:11   #1
Alisherius
 
Регистрация: 01.02.2014
Сообщений: 5
По умолчанию Формат в ячейке.

Друзья, помогите решить проблему с форматом числа или текста в ячейке. Есть расчетный счет в ячейке типа BY63AKBB30121001101021000000. Из за большого количества цифр, нередко бывают или лишние цифры, или ментше чем нужно. Как сделать так, чтобы эта запись смотрелась вот так BY63 AKBB 3012 1001 1010 2100 0000 или так BY63-AKBB-3012-1001-1010-2100-0000.
Alisherius вне форума Ответить с цитированием
Старый 09.11.2018, 10:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а это разве возможно?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2018, 11:39   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Только макросом такое можно сделать, добавив пробелы или дефисы
Форматом ячейки не получится (формат применяется только к числовым значениям)
EducatedFool вне форума Ответить с цитированием
Старый 09.11.2018, 11:52   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

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

а ещё можно банально на ячейки добавить проверку данных, указать там длину текста 28 и всё, неверную длину уже внести будет нельзя физически.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2018, 12:25   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

И даже можно проверять, что первые 2 символа являются буквами, потом 2 символа цифры и т.д.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 09.11.2018, 18:20   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

А я бы просто при вводе распихивал бы уже по ячейкам по 4 в каждую. Лишние несколько раз Таб тиснуть - не вопрос. Тем более если банк один и тот же, там много повторяющихся полей, их можно скопипастить, а добавлять только не совпадающие.
Ну это для тех, кто не ищет легких путей и экономит включать голову. It's me
Или простенькую прожку навалять, она проверяет корректность ввода, в строчку табы вставляет через 4 (или не табы, а дефисы/пробелы, если все-таки в одну ячейку запихивать), визуализация в Memo, а в буфере - уже готовая строчка с разделителями. Один дополнительный клик Ctrl/V - это решение вопроса. И не надо тащить макросы во все книги - одно приложение на всю оставшуюся жизнь работу. Максимальное использование штатных средств при минимальном программировании мозгодробительными (imho) методами Ёкселя.
Alisherius Земляк, в Сбербанке флибустьерствуешь ?
Впрочем, ТС уже испарился...
Изображения
Тип файла: jpg Excel-2.JPG (15.1 Кб, 87 просмотров)

Последний раз редактировалось digitalis; 10.11.2018 в 14:34.
digitalis вне форума Ответить с цитированием
Старый 11.11.2018, 10:47   #7
Alisherius
 
Регистрация: 01.02.2014
Сообщений: 5
По умолчанию

Всем спасибо за отклик, но а по подробнее. Макрос или прожку))
digitalis банки разные, это я для примера привел, но принцип счетов у всех одинаковый, две первых буквы, потом две цифры, четыре буквы и остальные 20 цифр
Alisherius вне форума Ответить с цитированием
Старый 11.11.2018, 13:21   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Давай свой E-mail мне на gaev43@inbox.ru Благодарности принимаются на VMB: B182646399592. Если благодарность будет не смехотворной, отдам с исходником, мне не жалко.
Сейчас у меня демо-версия, по предложениям можно доработать анализ ошибок: что быть должно, чего не должно, что допустимо - обсуждение по E-mail.
А макросы Ёкселя я не люблю - не то, чтобы совсем не в курсе, но не мое это.

Последний раз редактировалось digitalis; 11.11.2018 в 13:31.
digitalis вне форума Ответить с цитированием
Старый 13.11.2018, 01:08   #9
Alisherius
 
Регистрация: 01.02.2014
Сообщений: 5
По умолчанию

Подскажите как изменить код, чтобы он действовал на определенный диапазон а не на активную ячейку

Код:
Sub RST()
Dim strTmp As String, i As Integer
With ActiveCell
    strTmp = .Text
    strTmp = Replace(strTmp, "-", "")
    If Len(strTmp) Mod 4 = 0 Then
        i = 4
        Do
            strTmp = Left(strTmp, i) & "-" & Right(strTmp, Len(strTmp) - i)
            i = i + 5
        Loop While i < Len(strTmp)
        .Value = strTmp
    End If
End With
End Sub
Alisherius вне форума Ответить с цитированием
Старый 13.11.2018, 07:31   #10
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Activecell заменить range("a1:b30") и в цикле перебрать все ячейки
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сенсорный телефон изменил формат. Можно ли как то вернуть формат на jpeg? Коста342 Мобильные ОС (Android, iOS, Windows Phone) 4 03.04.2018 11:22
Ячейке со значением, вставить часть другой ячейке. Alex_Mosia Microsoft Office Excel 12 13.04.2017 07:55
КАК ПЕРЕДЕЛАТЬ ФОРМАТ mp4 В ФОРМАТ 3gp,MPEG4 kamalruslan Софт 4 20.08.2015 16:16
в ячейке 1 выбрали значение, в ячейке 2 должен выводиться список для выбора Nik_123 Microsoft Office Excel 3 03.08.2015 12:58
Примечание в ячейке при изменении значения в ячейке другого листа FoxRiver Microsoft Office Excel 4 12.07.2013 08:46