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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2014, 14:22   #1
svoiasvora
Новичок
Джуниор
 
Регистрация: 13.10.2014
Сообщений: 2
Смущение Нужно сделать слияние ячеек

Друзья подскажите
есть таблица вида:
a1 1 4
a1 2 5
a1 3 6

нужно привести ее к виду:

a1 1;2;3 4;5;6

Подскажите как? Буду очень признателен.

Последний раз редактировалось svoiasvora; 13.10.2014 в 14:24.
svoiasvora вне форума Ответить с цитированием
Старый 13.10.2014, 14:43   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

выполниет этот
Код:
Sub JoinData()
  Dim r As Long, c As Long
  r = 1
  Do
    c = WorksheetFunction.CountIf([a:a], Cells(r, 1))
    If c > 1 Then
      Cells(r, 2) = Join(WorksheetFunction.Transpose(Cells(r, 2).Resize(c, 1)), ";")
      Cells(r, 3) = Join(WorksheetFunction.Transpose(Cells(r, 3).Resize(c, 1)), ";")
      Rows(r + 1).Resize(c - 1).Delete
    End If
    r = r + 1
  Loop Until IsEmpty(Cells(r, 1))
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.10.2014, 14:54   #3
svoiasvora
Новичок
Джуниор
 
Регистрация: 13.10.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
выполниет этот
Код:
Sub JoinData()
  Dim r As Long, c As Long
  r = 1
  Do
    c = WorksheetFunction.CountIf([a:a], Cells(r, 1))
    If c > 1 Then
      Cells(r, 2) = Join(WorksheetFunction.Transpose(Cells(r, 2).Resize(c, 1)), ";")
      Cells(r, 3) = Join(WorksheetFunction.Transpose(Cells(r, 3).Resize(c, 1)), ";")
      Rows(r + 1).Resize(c - 1).Delete
    End If
    r = r + 1
  Loop Until IsEmpty(Cells(r, 1))
End Sub
Спасибо огромное.
svoiasvora вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать объединение ячеек с помощью макроса miraxgr Microsoft Office Excel 2 30.09.2013 12:16
нужно сделать сделать лабу по БД!!! APXAHGEL Фриланс 4 13.12.2010 09:50
Из нескольких ячеек в одну (слияние) kzld Microsoft Office Excel 4 06.10.2010 10:29
Как сделать в таблице (StringGrid) ячейку состоящую из двух ячеек на манер Exel бедный_студент Помощь студентам 3 28.04.2009 01:15
Помогите сделать слияние! Adm Microsoft Office Word 1 17.04.2008 08:43