Нужна помощь в написание макроса выбор данных за определенную дату и вставку в другой файл. Имеется файл (название статично) из него необходимо выбрать данные из столбца IJ , MNOP, RSTUVWXYZ и вставить в другой файл (название статично) в столбцы CD, GHIJ, LMNOPQRST ( с охранением формата). Желательно что бы присутствовала кнопка заполнить и запрос на ввод за какую дату произвести добавление.
Нужна помощь в написание макроса выбор данных за определенную дату и вставку в другой файл. Имеется файл (название статично) из него необходимо выбрать данные из столбца IJ , MNOP, RSTUVWXYZ и вставить в другой файл (название статично) в столбцы CD, GHIJ, LMNOPQRST ( с охранением формата). Желательно что бы присутствовала кнопка заполнить и запрос на ввод за какую дату произвести добавление.mavrlom
в вашем файле макросов нет, вам нужно чтобы вам сделали готовое решение? или в чем нужно помочь? по инпуту записываете переменную с нужной датой определяете кол-во строк перебираете, при совпадении дат копируете нужные значения
ничего сложного...
в вашем файле макросов нет, вам нужно чтобы вам сделали готовое решение? или в чем нужно помочь? по инпуту записываете переменную с нужной датой определяете кол-во строк перебираете, при совпадении дат копируете нужные значения
K-SerJC, Да, я согласен в файле нет макроса. Мне нужна помощь в его написании, так как в этом тугок (не отрицаю). По мере возможности сделать готовое решение. Спасибо за ответ.
K-SerJC, Да, я согласен в файле нет макроса. Мне нужна помощь в его написании, так как в этом тугок (не отрицаю). По мере возможности сделать готовое решение. Спасибо за ответ.mavrlom
можете записать ваши действия макрорекордером, посмотреть что получилось подкорректировать и все будет ок если будут конкретные вопросы, что не получается тут всегда подскажут. начните делать
а сделать за вас готовое решение это тоже можно но это в другой ветке форума
можете записать ваши действия макрорекордером, посмотреть что получилось подкорректировать и все будет ок если будут конкретные вопросы, что не получается тут всегда подскажут. начните делать
а сделать за вас готовое решение это тоже можно но это в другой ветке форумаK-SerJC
K-SerJC, не стоит чуть что, так отправлять людей в ветку "Фриланс". Тем более, что здесь и гораздо более объемные задачи бесплатно решали. Вот если через день-другой никто не сделает и ТС сам напишет что-то типа "Вижу, что ответов нет, понимаю, что задача слишком объемна, готов оплатить труды", то и пойдет разговор о переходе в другую ветку
K-SerJC, не стоит чуть что, так отправлять людей в ветку "Фриланс". Тем более, что здесь и гораздо более объемные задачи бесплатно решали. Вот если через день-другой никто не сделает и ТС сам напишет что-то типа "Вижу, что ответов нет, понимаю, что задача слишком объемна, готов оплатить труды", то и пойдет разговор о переходе в другую ветку_Boroda_
Sub TTT() Dim Lr&, Lr1&, Lr2&, i& Lr = Sheets("Лист1").Cells(Rows.Count, 2).End(xlUp).Row Lr1 = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row Sheets("Лист2").Range("A3:C" & Lr1 + 1).Clear Sheets("Лист1").Activate For i = 2 To Lr If Sheets("Лист1").Cells(i, 2).Value = Sheets("Лист2").Cells(2, 1).Value Then Lr1 = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row Sheets("Лист1").Range("I" & i).Copy
Sheets("Лист2").Cells(Lr1 + 1, 1).PasteSpecial Sheets("Лист1").Range("M" & i).Copy Sheets("Лист2").Cells(Lr1 + 1, 2).PasteSpecial Sheets("Лист1").Range("R" & i).Copy Sheets("Лист2").Cells(Lr1 + 1, 3).PasteSpecial End If Next Sheets("Лист2").Activate End Sub
[/vba]
кнопочка на Лист2 Дата выбирается в ячейке А2 на лист2
вот накропал быстренько.
[vba]
Код
Sub TTT() Dim Lr&, Lr1&, Lr2&, i& Lr = Sheets("Лист1").Cells(Rows.Count, 2).End(xlUp).Row Lr1 = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row Sheets("Лист2").Range("A3:C" & Lr1 + 1).Clear Sheets("Лист1").Activate For i = 2 To Lr If Sheets("Лист1").Cells(i, 2).Value = Sheets("Лист2").Cells(2, 1).Value Then Lr1 = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row Sheets("Лист1").Range("I" & i).Copy
Sheets("Лист2").Cells(Lr1 + 1, 1).PasteSpecial Sheets("Лист1").Range("M" & i).Copy Sheets("Лист2").Cells(Lr1 + 1, 2).PasteSpecial Sheets("Лист1").Range("R" & i).Copy Sheets("Лист2").Cells(Lr1 + 1, 3).PasteSpecial End If Next Sheets("Лист2").Activate End Sub
[/vba]
кнопочка на Лист2 Дата выбирается в ячейке А2 на лист2китин
[/vba] Словами Откуда.Copy Куда Между Copy и Куда пробел
============ Добавлено Помню, ты, пока начинаешьмакросам учиться, просил комментировать твои коды. Ну вот я и ...
В итоге как-то вот так
[vba]
Код
Sub TTT() Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual Dim Lr&, Lr1&, i& With Sheets("Ëèñò1") Lr = .Cells(Rows.Count, 2).End(xlUp).Row Lr1 = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To Lr If .Cells(i, 2).Value = Cells(2, 1).Value Then .Range("I" & i).Copy Cells(Lr1 + i - 1, 1) .Range("M" & i).Copy Cells(Lr1 + i - 1, 2) .Range("R" & i).Copy Cells(Lr1 + i - 1, 3) End If Next 'Application.CutCopyMode = 0 End With Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
[/vba]
Игорь, после отработки макроса у тебя остается скопированной последняя ячейка. Чтобы убрать это, можно написать в самом низу[vba]
[/vba] Словами Откуда.Copy Куда Между Copy и Куда пробел
============ Добавлено Помню, ты, пока начинаешьмакросам учиться, просил комментировать твои коды. Ну вот я и ...
В итоге как-то вот так
[vba]
Код
Sub TTT() Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual Dim Lr&, Lr1&, i& With Sheets("Ëèñò1") Lr = .Cells(Rows.Count, 2).End(xlUp).Row Lr1 = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To Lr If .Cells(i, 2).Value = Cells(2, 1).Value Then .Range("I" & i).Copy Cells(Lr1 + i - 1, 1) .Range("M" & i).Copy Cells(Lr1 + i - 1, 2) .Range("R" & i).Copy Cells(Lr1 + i - 1, 3) End If Next 'Application.CutCopyMode = 0 End With Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
Всем, спасибо. Направление понял буду пробовать. Через запись макроса с последующим редактированием. Надеюсь если не будет получаться на Вашу помощь.
Всем, спасибо. Направление понял буду пробовать. Через запись макроса с последующим редактированием. Надеюсь если не будет получаться на Вашу помощь.mavrlom