Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/как разбросать буквы одного слова через три ячейки на - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
как разбросать буквы одного слова через три ячейки на
rosebud2602 Дата: Пятница, 10.01.2014, 12:31 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день,

есть лист с базой данных на человека, и есть лист с бланк-формой, которую нужно заполнить
допустим на первом листе фамилия иванов, а на другом листе нужно раскидать И В А Н О В , ситуацию усугубляет то, что ячейки имеют разный размер, файл прилагается. выделено зеленым!

я смогла это сделать вручную, но похожих бланков разной направленности нужно еще много заполнить. хотелось бы узнать менее временезатратный способ. спасибо
К сообщению приложен файл: 2950852.xlsx (94.8 Kb)
 
Ответить
СообщениеДобрый день,

есть лист с базой данных на человека, и есть лист с бланк-формой, которую нужно заполнить
допустим на первом листе фамилия иванов, а на другом листе нужно раскидать И В А Н О В , ситуацию усугубляет то, что ячейки имеют разный размер, файл прилагается. выделено зеленым!

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

Автор - rosebud2602
Дата добавления - 10.01.2014 в 12:31
SkyPro Дата: Пятница, 10.01.2014, 12:52 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Менее затратный способ = макрос?

ЗЫ: Вы бы заменили персональные данные на какие-либо нейтральные.


skypro1111@gmail.com
 
Ответить
СообщениеМенее затратный способ = макрос?

ЗЫ: Вы бы заменили персональные данные на какие-либо нейтральные.

Автор - SkyPro
Дата добавления - 10.01.2014 в 12:52
rosebud2602 Дата: Пятница, 10.01.2014, 12:55 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SkyPro, так то они тут изменены)) была бы я оченьрада если б жители узбекистана были ивановыми петрами))) и с порядком 123456 в паспорте)) а можно чуть больше информации по поводу ""Менее затратный способ = макрос? ""
как говориться, я только учусь))
 
Ответить
СообщениеSkyPro, так то они тут изменены)) была бы я оченьрада если б жители узбекистана были ивановыми петрами))) и с порядком 123456 в паспорте)) а можно чуть больше информации по поводу ""Менее затратный способ = макрос? ""
как говориться, я только учусь))

Автор - rosebud2602
Дата добавления - 10.01.2014 в 12:55
SkyPro Дата: Пятница, 10.01.2014, 15:01 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Ну как-то так:[vba]
Код
Sub ssss()
Dim x, i&, c&, l&, txt, resAr$(1 To 10000, 1 To 1000)

x = Selection(1).Resize(Selection.Rows.Count, 1).Value
On Error Resume Next
l = 0
If IsArray(x) Then
      For i = LBound(x) To UBound(x)
          txt = UCase(x(i, 1))
          If Len(txt) > l Then l = Len(txt)
              For c = 1 To Len(txt)
                  resAr(i, c) = Mid(txt, c, 1)
              Next
      Next
Else
          txt = UCase(x)
          If Len(txt) > l Then l = Len(txt)
              For c = 1 To Len(txt)
                  resAr(1, c) = Mid(txt, c, 1)
              Next
End If
Selection(1).Offset(0, 1).Resize(Selection.Rows.Count, l) = resAr
End Sub
[/vba]

Выделяете ячейку, или несколько (только в одном столбце, иначе обработает только крайний левый, а информация в остальных будет уничтожена) и запускаете макрос.
К сообщению приложен файл: 2950852.xlsm (90.3 Kb)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Пятница, 10.01.2014, 15:02
 
Ответить
СообщениеНу как-то так:[vba]
Код
Sub ssss()
Dim x, i&, c&, l&, txt, resAr$(1 To 10000, 1 To 1000)

x = Selection(1).Resize(Selection.Rows.Count, 1).Value
On Error Resume Next
l = 0
If IsArray(x) Then
      For i = LBound(x) To UBound(x)
          txt = UCase(x(i, 1))
          If Len(txt) > l Then l = Len(txt)
              For c = 1 To Len(txt)
                  resAr(i, c) = Mid(txt, c, 1)
              Next
      Next
Else
          txt = UCase(x)
          If Len(txt) > l Then l = Len(txt)
              For c = 1 To Len(txt)
                  resAr(1, c) = Mid(txt, c, 1)
              Next
End If
Selection(1).Offset(0, 1).Resize(Selection.Rows.Count, l) = resAr
End Sub
[/vba]

Выделяете ячейку, или несколько (только в одном столбце, иначе обработает только крайний левый, а информация в остальных будет уничтожена) и запускаете макрос.

Автор - SkyPro
Дата добавления - 10.01.2014 в 15:01
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!