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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2021, 11:43   #1
Estop
Новичок
Джуниор
 
Регистрация: 15.03.2021
Сообщений: 2
По умолчанию Перенос ячеек с одного листа на другой по условию

Здравствуйте, господа!
Прошу помощи... Начальство придумало автоматизировать процессы.Для этого заставляет оборудование и процессы собирать в одну таблицу. Таблица получается очень большой, но не это главное. Главное что делать приходится исполнителям. Хотелось бы автоматизировать процесс.
Имеем: файл, с тремя листами: "Перечень оборудования и ОС", "Нормативы ОР", "Legends".
Работать нужно в "Норсативы ОР". Оборудование из первого листа переносим вручную в "Нормативы ОР"
Хотелось бы:
помочь в составлении макроса который бы при запуске(только в ячейке столбца №6):
-проверял содержимое ячейки столбца"Наименование техкарты" листа "Нормативы ОР", и считал строки с таким же содержимым в столбце "Наименование техкарты" листа"Legends";
-копировал ячейки этих строк с 6("Наименование техкарты") по 23("Время,мин") на лист "Нормативы ОР" при этом ячейки со 2й по 5ю заполнялись значениями исходной строки;
- в первой строке оставить формулу
- и помечать строки отметкой "макрос" в 25 столбце(это уже получилось...)

На форуме уже нашёл макрос что копирует строку,
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim r As Long
  If Target.Column <> 6 Then Exit Sub
  Cancel = True: r = Target.Row + 1: Rows(r).Insert Shift:=xlDown
  Target.EntireRow.Copy: Cells(r, 1).PasteSpecial Paste:=xlPasteValues:  Cells(r, 24) = "Макрос":
  Cells(r, 6).Select
End Sub
но как прикрутить к нему индекс(поискпоз()) знаний не хватает. Да, и... нужен другой макрос чтоб срабатывал по горячим клавишам(но это я уже освоил)
Помогите люди добрые!!!

PS почему то не могу загрузить .xlsb и .xlsm файлs
Вложения
Тип файла: zip Нормативы ТОиР ЭТЛ.v3.xlsb.zip (741.5 Кб, 1 просмотров)
Estop вне форума Ответить с цитированием
Старый 30.03.2021, 10:01   #2
Estop
Новичок
Джуниор
 
Регистрация: 15.03.2021
Сообщений: 2
По умолчанию

Ну помогите, люди добрые!
Не получается разобраться с этими "обьектами, свойствами, свойствами которые бывают обьектами"... А начальство прессует чтоб был результат... а вручную обрабатывать 96000строк - повеситься можно...
Вот попытался собрать макрос, но знаний не хватает допилить...
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Long
Dim c As Long
If Target.Column <> 6 Then Exit Sub
Cancel = True:
Set c = Worksheets(4).Range("F:F").Find(Target, LookIn:=xlValues)
If Not c Is Nothing Then
    firstResult = c.Address
    Do
        r = Target.Row + 1: Rows(r).Insert Shift:=xlDown
        Intersect(Worksheets(4).Rows(c.Row), Worksheets(4).Range("F:W")).Copy Destination:=Worksheets(2).Range("F" & "W")  
    Set c = Worksheets(4).Range("F:F").FindNext(c)
    If c Is Nothing Then Exit Do
    Loop While c.Address <> firstResult
End If
End Sub
ещё раз напомню что макрос должен делать:
-проверял содержимое ячейки столбца"Наименование техкарты" листа "Нормативы ОР", и считал строки с таким же содержимым в столбце "Наименование техкарты" листа"Legends";
-копировал ячейки этих строк с 6("Наименование техкарты") по 23("Время,мин") на лист "Нормативы ОР" при этом ячейки со 2й по 5ю заполнялись значениями исходной строки;
- в первой строке оставить формулу...
Вложения
Тип файла: zip Нормативы ТОиР ЭТЛ.v1.5.xlsb.zip (141.4 Кб, 2 просмотров)
Estop вне форума Ответить с цитированием
Старый 30.03.2021, 11:32   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Не уйдете в безконечность такими шагами, ведь хотите постоянно дописывать в конец листа "Нормативы ОР"?

например.
НормативыОР.F1 = Rизол
на листе Legends по критерию F = "Rизол" есть 26 строк. (Зачем считать их?) Копируем из Legends.[F5:W30] и вставляем на НормативыОР.[F13]

- Что будет если макрос дойдет до 13 строки? Опять инфу Rизола копировать?
- Rизол есть НормативыОР.[F1] i НормативыОР.[F3], дважды переносить инфо с Legends?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос кода из выделенных ячеек одного листа в другой лист Aristarkch Microsoft Office Excel 3 19.04.2017 12:53
перенос данных с одного листа на другой по условию diop Microsoft Office Excel 3 21.01.2015 01:33
Перенос данных с одного листа на другой по условию MickMick Microsoft Office Excel 1 11.01.2015 17:33
Перенос с одного листа на другой TemaZosin Microsoft Office Excel 1 04.10.2012 06:57
перенос строк с одного листа на другой по условию Irek11 Microsoft Office Excel 12 13.11.2011 20:45