Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 30.06.2018, 14:36   #1
AlekseyUkhin
Новичок
 
Регистрация: 30.06.2018
Сообщений: 1
Репутация: 10
По умолчанию Вставка необходимого значение в выбранном диапазоне

Добрый день уважаемые форумчане!
есть затык в макросе. айтишник на предприятии уволился, никто ВБА не знает) приходиться лопатно автоматизировать отчеты при помощи записи макросов, но не всегда получается четко.
в чем суть проблемы: есть отчет, в котором количество строк с каждой неделей уменьшается или увеличивается. поэтому обычная запись макроса не катит. нашел на одном из форумов кусочек кода, который позволяет выбрать необходимый диапазон ячеек (в моем случае это ячейка D14 Название проекта, как говорил выше, их может быть рандомное кол-во, т.е. D14, 15 итд) и добавить после каждой заполненной строки 6 пустых и итд, пока не закончиться цикл. (код на диапазон находиться в макросе INS в самом вверху, на вкладке начальная страница кнопка 1)
Код:

Sheets("Н1 (сокр)").Select
Dim rng As Range
Set rng = Application.InputBox("Выделите диапазон", , , , , , , 8)
a = rng.row
b = a + rng.Rows.Count - 1
For i = b To a + 1 Step -1
Rows(i & ":" & i + 5).Insert
Next

это все круто и работает. но теперь необходио заполнить эти новые строки информацией (колонка J, комментарий) информация для всех проектов будет одна и та же:
1.Дорожная карта реализации проекта
2.График 1-го уровня
3.График 2-го, 3 уровня
4.График 4 уровня
5.МДР
6.План по управлению качество
7.Программа ИИ

собтвенно, о чем я вас прошу мне помочь, нужно чтобы при выборе диапазона и добавлении пустых строк, строки колонки J заполнялись значениями которые я написал выше, так же по циклу.
если вдруг я коряво описал, во вложении лист (Н1 (сокр)) это изначальный вариант, а лист (готово) это как должно выглядеть в идеале. спасибо заранее и ссорян за тупость) не первую неделю ломаю голову
Вложения
Тип файла: xlsx Пример1.xlsx (70.7 Кб, 4 просмотров)
AlekseyUkhin вне форума   Ответить с цитированием
Старый 30.06.2018, 22:34   #2
Hugo121
Профессионал
 
Регистрация: 11.05.2010
Сообщений: 4,981
Репутация: 464
По умолчанию

А что код пожадничали в файле показать?
По делу - т.к. известно значение i, то сразу после добавления строк нет проблем прописать
Код:

cells(i,"J")="1.Дорожная карта реализации проекта"
cells(i+1,"J")="2.График 1-го уровня"
и т.д.

Или более технично выгрузить туда одним движением массив значений. Хотя особой разницы по времени не будет, если не десятки тысяч строк нужно заполнять.
Файл не смотрел - чего его без кода смотреть?
__________________
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 30.06.2018 в 22:38.
Hugo121 вне форума   Ответить с цитированием
Старый 01.07.2018, 14:14   #3
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 8,930
Репутация: 1648

icq: 7934250
skype: i2x0,5
По умолчанию

выполните это на листе, в котором нужно добавить строки
Код:

Sub InsSameRowsGroups()
  Dim r&, c&, rg As Range, TxtAr
  Set rg = Cells.Find("Комментарий", , xlValues, xlWhole)
  If rg Is Nothing Then Exit Sub Else c = rg.Column
  TxtAr = Application.Transpose(Split("1.Дорожная карта реализации проекта;2.График 1-го уровня;3.График 2-го, 3 уровня;4.График 4 уровня;5.МДР;6.План по управлению качество;7.Программа ИИ", ";"))
  r = Cells(Rows.Count, c).End(xlUp).Row
  Do While Not IsNumeric(Cells(r, c))
    Rows(r + 1).Resize(6).Insert:  Cells(r, c).Resize(7, 1).Value = TxtAr
    r = r - 1
  Loop
End Sub

__________________
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 01.07.2018 в 14:17.
IgorGO на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать условное форматирование строки по нескольким условиям в выбранном диапазоне ? oleg4224 Microsoft Office Excel 2 08.04.2014 01:11
Найти минимальное значение в диапазоне ruavia3 Microsoft Office Excel 10 25.08.2013 19:42
макрос для скрытия и показа строк в выбранном диапазоне шрк Microsoft Office Excel 2 04.11.2011 11:30
Найти значение в диапазоне ячеек Luchiya Microsoft Office Excel 2 01.09.2010 14:09
Вставка группы пустых ячеек в выбранном диапазоне slba Microsoft Office Excel 4 30.10.2009 09:48


16:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru