Доброго времени суток уважаемые форумчане! Прошу помощи! Суть вопроса в ледующем: Есть таблица в которой есть один из столбцов данные в котором записаны в следующем виде: 51012012555 51012010323 51012008888 51012000024 51012000489 и т.д. Необходимо преобразовать эти данные в этом столбце в следующий вид: 051-012-012555 051-012-010323 051-012-008888 051-012-000024 051-012-000489 и т.д. возможно ли это без использования разбиения по столбцам, добавления нулей и объединения по новой? Желательно сделать это в макросе! Поиском нашел несколько тем - но не то что нужно! Заранее спасибо за ответ!
Доброго времени суток уважаемые форумчане! Прошу помощи! Суть вопроса в ледующем: Есть таблица в которой есть один из столбцов данные в котором записаны в следующем виде: 51012012555 51012010323 51012008888 51012000024 51012000489 и т.д. Необходимо преобразовать эти данные в этом столбце в следующий вид: 051-012-012555 051-012-010323 051-012-008888 051-012-000024 051-012-000489 и т.д. возможно ли это без использования разбиения по столбцам, добавления нулей и объединения по новой? Желательно сделать это в макросе! Поиском нашел несколько тем - но не то что нужно! Заранее спасибо за ответ!Ed_Vard
Большое спасибо всем отклинувшимся! Даже не ожидал Hugo, - нет - нужно чтобы преобразовались сами данные - а не так - чтобы они выглядели. nilem - при использовании Вашего варианта получаеться что-то не то. RAN, - Ваш вариант - где три примера очень подходит - а не подскажите - как сделать - чтоб выполнить для ячеек с имеющимися данными по этому столбцу - а не только для активной? Формуляр, _Boroda_, - с формулами хорошо - но данный лист постоянно меняться - поэтому с формулами не очень удобно - но спасибо за него - теперь буду знать - что так можно сделать! _Boroda_, Ваш с вариант с макросом не сработал - написал Variable not defined
Большое спасибо всем отклинувшимся! Даже не ожидал Hugo, - нет - нужно чтобы преобразовались сами данные - а не так - чтобы они выглядели. nilem - при использовании Вашего варианта получаеться что-то не то. RAN, - Ваш вариант - где три примера очень подходит - а не подскажите - как сделать - чтоб выполнить для ячеек с имеющимися данными по этому столбцу - а не только для активной? Формуляр, _Boroda_, - с формулами хорошо - но данный лист постоянно меняться - поэтому с формулами не очень удобно - но спасибо за него - теперь буду знать - что так можно сделать! _Boroda_, Ваш с вариант с макросом не сработал - написал Variable not defined Ed_Vard
Сообщение отредактировал Ed_Vard - Среда, 07.09.2011, 23:47
Выделяем нужное и давим, давим... smile К сообщению приложен файл: 7150195.xls(36Kb)
В Вашем варианте визуально данные меняються - но в ячейке остаються прежними - изменение формата не спасает! У меня в дальнейшем из этого листа идет выборка макросом значений. Это поле являеться ключевым для поиска - т.е. мне нужны именно данные а не визуальное отображение! Ваш вариант в посте с тремя примера это делает!
Quote (RAN)
Выделяем нужное и давим, давим... smile К сообщению приложен файл: 7150195.xls(36Kb)
В Вашем варианте визуально данные меняються - но в ячейке остаються прежними - изменение формата не спасает! У меня в дальнейшем из этого листа идет выборка макросом значений. Это поле являеться ключевым для поиска - т.е. мне нужны именно данные а не визуальное отображение! Ваш вариант в посте с тремя примера это делает!Ed_Vard
Сообщение отредактировал Ed_Vard - Четверг, 08.09.2011, 00:13
Доброго времени суток Всем форумчанам Поскольку вопрос из той же темы - что и ранее - не стал создавать новую, а продолжу в этой! Прошу помощи в следующем вопросе: У меня есть столбец с данными следующего вида: 156-649-695 22 064-330-215-21 037-550-639 60 032-460-798-38 037-550-650-55 031-037-891-16 и т.д. вниз на 30000 строк. Мне неоходимо привести его в соответствие т.е. данные должны быть такими 156-649-695 22 064-330-215 21 037-550-639 60 032-460-798 38 037-550-650 55 031-037-891 16 т.е. после 11 символа убрать если есть тире и вставить пробел. Вот макрос - которым пользуюсь:
Code
Sub xxx() a = ActiveCell ActiveCell = Replace(a, Right(a, 3), " " & Right(a, 2)) End Sub
Все вроде бы нормально - но попадаються, причем довольно часто значения - в которых помимо нужного еще что нибудь как напрмер значение - выделенное красным плучаеться вот таким 037 550-650 55 - что не есть правильно. Поэтому и вопрос - может я неправильно вычисляю это тире и нужно как то подругому это делать? Заранее прошу сильно не пинать
Доброго времени суток Всем форумчанам Поскольку вопрос из той же темы - что и ранее - не стал создавать новую, а продолжу в этой! Прошу помощи в следующем вопросе: У меня есть столбец с данными следующего вида: 156-649-695 22 064-330-215-21 037-550-639 60 032-460-798-38 037-550-650-55 031-037-891-16 и т.д. вниз на 30000 строк. Мне неоходимо привести его в соответствие т.е. данные должны быть такими 156-649-695 22 064-330-215 21 037-550-639 60 032-460-798 38 037-550-650 55 031-037-891 16 т.е. после 11 символа убрать если есть тире и вставить пробел. Вот макрос - которым пользуюсь:
Code
Sub xxx() a = ActiveCell ActiveCell = Replace(a, Right(a, 3), " " & Right(a, 2)) End Sub
Все вроде бы нормально - но попадаються, причем довольно часто значения - в которых помимо нужного еще что нибудь как напрмер значение - выделенное красным плучаеться вот таким 037 550-650 55 - что не есть правильно. Поэтому и вопрос - может я неправильно вычисляю это тире и нужно как то подругому это делать? Заранее прошу сильно не пинать Ed_Vard
RAN, nilem, _Boroda_, Большое спасибо! Временно был отлучен от интернета по техническим причинам - поэтому не получилось поблагодарить сразу Взял за основу вариант nilem для большего удобства!
RAN, nilem, _Boroda_, Большое спасибо! Временно был отлучен от интернета по техническим причинам - поэтому не получилось поблагодарить сразу Взял за основу вариант nilem для большего удобства!Ed_Vard