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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2009, 11:25   #1
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
Радость как в четырехзначном числе поставить через заданное количество цифр пробел

Помогите, пожалуйста, новичку в написании макроса для решения задачки :

Есть столбец с паспортными данными (тысячи строк) вида:
2345
3456
5688
......
......
и так далее (в каждом списке разное количество строк),
Необходимо преобразовать столбец к виду:
23 45
34 56
56 88
.......
.......
должен быть через две цифры пробел, как в паспорте, причем обработка столбца должна заканчиваться на последней строчке, содержащей паспортные данные.

Заранее большое спасибо

Последний раз редактировалось KNatalia; 18.08.2009 в 11:33.
KNatalia вне форума Ответить с цитированием
Старый 18.08.2009, 11:53   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Наташ, а чем формулы не нравятся?
Допустим цифры в столбце А, начиная с ячейки А2.
В ячейке "В2" пишем формулу
=Левсимв(A2;2)&" "&Правсимв(A2;2)
Затем протягиваем на весь столбец->Выделяем весь столбец->Копируем->Правая кнопка мыши->Специальная вставка->Значения
Нужен именно макрос. Выкладывайте файл и скажите: результат необходимо выводитьв тот же столбец или в другой?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 18.08.2009, 11:56   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Макрос. Заменяет значения в исходном столбце. Столбец А. Если значение в ячейке содержит более или менее 4 символов, то ячейка окрашивается в красный цвет.
Код:
Sub Insert_Space
dim rRange as Range,rCell as range
Set rRange = Range(Cells(2,1),Cells(Cells(Rows.Count,1).End(xlup).row,1))
For each rCell in rRange
   if rCell <> "" then
      if len(rCell) = 4 then 
          rCell = Left(rCell,2) & " " & right(rCell,2)
      else
          rCell.interior.color = vbred
      end if
   end if
next rCell
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru

Последний раз редактировалось The_Prist; 18.08.2009 в 11:59.
The_Prist вне форума Ответить с цитированием
Старый 18.08.2009, 12:32   #4
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
Радость

Спасибо Вам самое большое при большое!
KNatalia вне форума Ответить с цитированием
Старый 18.08.2009, 20:28   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

правой кнопкой по столбцу / формат ячеек / в списке выбираем "все форматы" / в строке "тип" пишем:##" "##" "##" "## / жмем ОК.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поставить пробел, через 8 знаков valerij Microsoft Office Word 3 12.04.2009 23:28
Как поставить пробел, через 8 знаков valerij Microsoft Office Excel 7 11.04.2009 04:24
Найти количество цифр в числе immor Помощь студентам 4 14.02.2009 22:30
Подскажите, как поставить 2 ОС Красавчег))) Операционные системы общие вопросы 24 15.01.2008 21:28