Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

skype: ExcelVBA.ru
По умолчанию

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

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

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

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

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

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

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

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

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

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

Код:

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, 08:31   #10
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,436
Репутация: 885

skype: aleksandr.gryb
По умолчанию

Activecell заменить range("a1:b30") и в цикле перебрать все ячейки
__________________
Mailto: media.project@ukr.net
Aleksandr H. вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


20:12.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru