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

Вход

Регистрация

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

 

= Мир MS Excel/Вставка строк, если в ячейке определенный текст - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка строк, если в ячейке определенный текст
Вставка строк, если в ячейке определенный текст
Svetiki Дата: Четверг, 11.04.2013, 18:45 | Сообщение № 1
Группа: Гости
Описание. Есть файл, на листе - длинный список. Каждые Н строк повторяется одно слово - Exact. Надо сделать так, чтобы, если в строке в определенной ячейке есть это слово, после такой строки (со словом) вставлялось 2 пустые строки.
Можно ли это сделать как-то автоматически? Там 3000 строк, руками делать - убиться можно.
Уже голову сломала...
Макросы писать не умею. Не въезжаю совсем sad
 
Ответить
СообщениеОписание. Есть файл, на листе - длинный список. Каждые Н строк повторяется одно слово - Exact. Надо сделать так, чтобы, если в строке в определенной ячейке есть это слово, после такой строки (со словом) вставлялось 2 пустые строки.
Можно ли это сделать как-то автоматически? Там 3000 строк, руками делать - убиться можно.
Уже голову сломала...
Макросы писать не умею. Не въезжаю совсем sad

Автор - Svetiki
Дата добавления - 11.04.2013 в 18:45
Pelena Дата: Четверг, 11.04.2013, 18:52 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19199
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Svetiki, Вы быстрее получите ответ, если прочитаете Правила форума и приложите файл с примером в формате xls


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеSvetiki, Вы быстрее получите ответ, если прочитаете Правила форума и приложите файл с примером в формате xls

Автор - Pelena
Дата добавления - 11.04.2013 в 18:52
Svetiki Дата: Пятница, 12.04.2013, 10:10 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Pelena, незарегистрированные не могут прикладывать файлы. Пришлось регистрироваться.
В приложении - файл, что есть изначально и что надо получить на разных листах.
Заранее спасибо!
К сообщению приложен файл: 9256452.xls (29.0 Kb)
 
Ответить
СообщениеPelena, незарегистрированные не могут прикладывать файлы. Пришлось регистрироваться.
В приложении - файл, что есть изначально и что надо получить на разных листах.
Заранее спасибо!

Автор - Svetiki
Дата добавления - 12.04.2013 в 10:10
Hugo Дата: Пятница, 12.04.2013, 10:35 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
[vba]
Код
Sub tt()
     Dim i&
     Application.ScreenUpdating = False
     For i = [a1].CurrentRegion.Rows.Count To 1 Step -1
         If Cells(i, 3) = "Exact" Then Cells(i + 1, 1).Resize(2).EntireRow.Insert
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение[vba]
Код
Sub tt()
     Dim i&
     Application.ScreenUpdating = False
     For i = [a1].CurrentRegion.Rows.Count To 1 Step -1
         If Cells(i, 3) = "Exact" Then Cells(i + 1, 1).Resize(2).EntireRow.Insert
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Hugo
Дата добавления - 12.04.2013 в 10:35
AlexM Дата: Пятница, 12.04.2013, 10:45 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4513
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Опоздал с ответом. Выкладываю, чтобы не пропало
[vba]
Код
Sub Macros()
Dim i As Long
Application.ScreenUpdating = False
For i = Range("C" & Rows.Count).End(xlUp).Row To 1 Step -1
If Range("C" & i) = "Exact" Then Rows(i + 1).Resize(2).EntireRow.Insert
Next i
Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 9256452_new.xls (38.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеОпоздал с ответом. Выкладываю, чтобы не пропало
[vba]
Код
Sub Macros()
Dim i As Long
Application.ScreenUpdating = False
For i = Range("C" & Rows.Count).End(xlUp).Row To 1 Step -1
If Range("C" & i) = "Exact" Then Rows(i + 1).Resize(2).EntireRow.Insert
Next i
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - AlexM
Дата добавления - 12.04.2013 в 10:45
Hugo Дата: Пятница, 12.04.2013, 11:03 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
У AlexM правильнее/универсальнее smile


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеУ AlexM правильнее/универсальнее smile

Автор - Hugo
Дата добавления - 12.04.2013 в 11:03
AlexM Дата: Пятница, 12.04.2013, 11:14 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4513
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Цитата (Hugo)
правильнее/универсальнее

Игорь, скажите пожалуйста, чем?
Разница, можно сказать, только в одной строке.
Только из-за того, что в цикле с CurrentRegion может быть проверка большего количества ячеек?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (Hugo)
правильнее/универсальнее

Игорь, скажите пожалуйста, чем?
Разница, можно сказать, только в одной строке.
Только из-за того, что в цикле с CurrentRegion может быть проверка большего количества ячеек?

Автор - AlexM
Дата добавления - 12.04.2013 в 11:14
Hugo Дата: Пятница, 12.04.2013, 11:43 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Ну да -
1. Currentregion может быть выше, чем данные в C, т.е. будут проверяться лишние ячейки - это правда не критично.
2. [a1].Currentregion может не включать третий столбец и быть ниже - а вот это уже финиш.
Правильнее было бы брать [c1].Currentregion - тогда можно только с числом строк промахнуться, что не критично.
3. Мой код одноразовый smile

В общем, поленился я буквы писать, сделал как проще конкретно под пример...


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу да -
1. Currentregion может быть выше, чем данные в C, т.е. будут проверяться лишние ячейки - это правда не критично.
2. [a1].Currentregion может не включать третий столбец и быть ниже - а вот это уже финиш.
Правильнее было бы брать [c1].Currentregion - тогда можно только с числом строк промахнуться, что не критично.
3. Мой код одноразовый smile

В общем, поленился я буквы писать, сделал как проще конкретно под пример...

Автор - Hugo
Дата добавления - 12.04.2013 в 11:43
AlexM Дата: Пятница, 12.04.2013, 11:45 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4513
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Спасибо



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеСпасибо

Автор - AlexM
Дата добавления - 12.04.2013 в 11:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка строк, если в ячейке определенный текст
  • Страница 1 из 1
  • 1
Поиск:

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