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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2013, 07:53   #1
mizizipipi
Новичок
Джуниор
 
Регистрация: 09.08.2013
Сообщений: 3
По умолчанию Копирование при 2х условиях

Помогите пожалуйста сделать макрос.
У меня не как не получается. Замучился уже.
Макрос простой.

Если в столбце значение встречается один раз
то нужно 2 раза скопировать строку с этим значением.

А если встречается 2 то нужно 1 раз скопировать строку с этим значением.

Столбцы небольшие и количество строк разное. Значения из цифр и букв.

К примеру есть таблица
1
2
2
2
3
3

Должно получиться
1
1
1
2
2
2
3
3
3

Спасибо.
mizizipipi вне форума Ответить с цитированием
Старый 10.08.2013, 08:37   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

>> Макрос простой.
Раз так, то и сами управитесь.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 10.08.2013, 08:53   #3
mizizipipi
Новичок
Джуниор
 
Регистрация: 09.08.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
>> Макрос простой.
Раз так, то и сами управитесь.
К сожалению пока не справился.
По этой причини и обратился за помощью.
mizizipipi вне форума Ответить с цитированием
Старый 10.08.2013, 10:31   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub InsRows()
  Dim r As Long, n As Long
  For r = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
    n = 3 - WorksheetFunction.CountIf([a:a], Cells(r, 1))
    If n > 0 Then Rows(r).Copy: Cells(r + 1, 1).Resize(n, 1).EntireRow.Insert shift:=xlDown
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.08.2013, 10:48   #5
mizizipipi
Новичок
Джуниор
 
Регистрация: 09.08.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
Sub InsRows()
  Dim r As Long, n As Long
  For r = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
    n = 3 - WorksheetFunction.CountIf([a:a], Cells(r, 1))
    If n > 0 Then Rows(r).Copy: Cells(r + 1, 1).Resize(n, 1).EntireRow.Insert shift:=xlDown
  Next
End Sub
Огромное человеческое спасибо!
Очень помогли!
mizizipipi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести все кроме при условиях Kek Microsoft Office Excel 11 23.08.2011 18:12
вывести строки при 2-х условиях Kek Microsoft Office Excel 0 20.08.2011 11:52
Склеивание текста при определенных условиях. Alex___ Microsoft Office Excel 2 28.09.2009 22:29
Суммирование при условиях OgE®_M@G Microsoft Office Excel 3 25.09.2009 14:02
Сумма при заданных условиях + Ранг Acro Microsoft Office Excel 2 14.04.2009 00:03