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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 18.08.2009, 22:50   #1
ALEKS2008
Пользователь
 
Регистрация: 06.08.2009
Сообщений: 33
По умолчанию как с помощью формулы проставить тире между цифрами

например 0672465786 а надо преобразовать в тойже ячейке, (можно в следущей, но обязательнов в той же строке) (067) 246-57-86. но тут есть нюанс, этот же телефон может податься в формате: 80672465786 или 8(067)2465786, 8 (067) 24-65-786, (067)2465786
Буду очень благодарен,сам не справляюсь !!! (возможно без макроса не обойтись)

Последний раз редактировалось ALEKS2008; 19.08.2009 в 13:38.
ALEKS2008 вне форума Ответить с цитированием
Старый 18.08.2009, 23:20   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

а что, код всегда только 067?
motorway вне форума Ответить с цитированием
Старый 19.08.2009, 00:07   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,904
По умолчанию

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

Код:
Public Function Telefon(lin As String) As String
Dim i As Integer

   lin = Replace(lin "-", "")
   lin = Replace(lin, "(", "")
   lin= Replace(lin, ")", "")
   lin= Replace(lin, ")", "")
   lin= Replace(lin, Space(1), "")
    lin = Replace(lin, Space(1), "")
     
     i = Len(linnn)
     
     If i < 10 Then
     
     MsgBox ("Не правильный номер")
     Exit Function
     End If
     
      lin = Mid(lin, i - 9, 10)
   Telefon = "(" & Mid(lin, 1, 3) & ")" & Space(1) & Mid(linnn, 4, 3) & "-" & Mid(lin, 7, 2) & "-" & Mid(lin, 9, 2)
     

End Function

Private Sub CommandButton1_Click()


Dim nomer   As String

nomer = Telefon(" 8 (067) 2465786")
 MsgBox (nomer)

End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.08.2009, 00:12   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Если да, можете попробовать такую замысловатую формулу (число в ячейке A1):

Код:
="(067) "&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");ПОИСК("067";ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");1)+3;3)&"-"&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");ПОИСК("067";ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");1)+6;2)&"-"&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");ПОИСК("067";ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");1)+8;2)
motorway вне форума Ответить с цитированием
Старый 19.08.2009, 00:16   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте ALEKS2008.
добавьте к проекту книги модуль и разместите в нем подобный код
Код:
Function toTelNumber(nmb) As String
nmb = nmb.Text
nmb = Replace(nmb, " ", "")
nmb = Replace(nmb, "(", "")
nmb = Replace(nmb, ")", "")
nmb = Replace(nmb, "-", "")
If Len(nmb) = 10 Then nmb = 8 & nmb
toTelNumber = Format(nmb, "0(000)000-00-00")
End Function
и тогда формула =toTelNumber(A6) отобразит номер ячейкb A6 в заданном формате.
Удачи Вам.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 19.08.2009, 00:24   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,904
По умолчанию

motorway
Это в том случае,если один оператор,а если нет,утвердительного ответа не было.На Киевстаре кроме 067 ёще 097,098
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.08.2009, 00:31   #7
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

ну в принципе переделывается легко - заменой соотв. символов. Можно и макрос написать
motorway вне форума Ответить с цитированием
Старый 19.08.2009, 01:43   #8
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,317
По умолчанию

или такой еще вариант:
1.удаляем в столбце с телефонами открывающиеся, закрывающиеся скобки и тире с помощью Ctrl+H (найти и заменить)
2. правая кнопка мыши по столбцу / формат ячеек / (все форматы) / в строку "тип" пишем это: #(###) ###-##-## / жмем ОК
IgorGO вне форума Ответить с цитированием
Старый 19.08.2009, 12:46   #9
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Без VBA см.вложение
Вложения
Тип файла: rar Телефоны.rar (4.0 Кб, 25 просмотров)
ZORRO2005 вне форума Ответить с цитированием
Старый 19.08.2009, 13:57   #10
ALEKS2008
Пользователь
 
Регистрация: 06.08.2009
Сообщений: 33
По умолчанию

="(067) "&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТА ВИТЬ(A1;")";"");" ";"");"-";"");ПОИСК("067";ПОДСТАВИТЬ(ПОДСТА ВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");1)+3;3)&"-"&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТА ВИТЬ(A1;")";"");" ";"");"-";"");ПОИСК("067";ПОДСТАВИТЬ(ПОДСТА ВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");1)+6;2)&"-"&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТА ВИТЬ(A1;")";"");" ";"");"-";"");ПОИСК("067";ПОДСТАВИТЬ(ПОДСТА ВИТЬ(ПОДСТАВИТЬ(A1;")";"");" ";"");"-";"");1)+8;2)

НЕ РАБОТАЕТ
ALEKS2008 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отступ между цифрами в консоле Golovastik Общие вопросы C/C++ 4 15.07.2009 22:24
Почему двоеточие и тире отображается выше обычного? Сергей Орлов Microsoft Office Word 1 09.07.2009 23:53
Как в HTML в form проставить два E-mail чебургатор HTML и CSS 1 27.05.2009 19:33
Столбцы озаглавлены цифрами. как исправить? zoom Microsoft Office Excel 2 06.10.2007 17:13
Где надо объявить и описать вводимые данные, чтобы расчитать с помощью них формулы Соня Помощь студентам 1 31.05.2007 06:07


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS