Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Создание макроса на копирование столбцов по определенным датам, Создание макроса
 
Здравствуйте уважаемые знатоки, помогите решить задачку. Как создать макрос, с помощью которого столбец с данными будет копироваться из 1книги в другую книгу в столбец с соответствующей датой. 1книга будет создаваться каждую неделю на основе старой, просто будет меняться дата и данные. В моём примере цифры с синего поля нужно скопировать в синее поле на другом листе. Можно ли в данном случае обойтись макрорекордером?
 
Код
Sub copy_master()
Dim r_base As Range, r_target As Range
Dim c, d

'опеределяем диапазон дат в обоих листах
With Sheets("Книга 1")
    Set r_base = Range(.Range("A4"), .Range("A4").End(xlToRight))
End With
With Sheets("Книга 2")
    Set r_target = Range(.Range("B1"), .Range("B1").End(xlToRight))
End With

' если значение (дата) в одном диапазоне равно значению в другом
For Each c In r_base
    For Each d In r_target
        If c = d Then d.Offset(5, 0).Resize(15, 1).Cells.Value = c.Offset(2, 0).Resize(15, 1).Cells.Value
    Next d
Next c
    
End Sub

Изменено: Maruf - 20 Сен 2018 08:14:27
No crime is so great as daring to Excel. (Winston Churchill)
 
Maruf, у Вас только для одной переменной указан тип.  
 
Цитата
Yeti_magic написал:
Можно ли в данном случае обойтись макрорекордером?
Обойтись макрорекордером получится если например у вас в обоих книгах указаны даты с 01/01/18 по 31/12/18. Тогда можно просто включив макрорекордер копировать полностью диапазон значений из одной книги и вставлять в другую. Однако каждый раз новую книгу придётся создавать из старой, так как будет копироваться весь диапазон данных (как старые данные так новые),т.е. данные в старой книге будут полностью переписываться. Это в свою очередь чревато внесением ошибок в результате ненамеренного изменения ячеек со старыми данными в новой книге.
No crime is so great as daring to Excel. (Winston Churchill)
 
Цитата
Юрий М написал:
Maruf , у Вас только для одной переменной указан тип
Спасибо, исправил
No crime is so great as daring to Excel. (Winston Churchill)
 
Спасибо большое за помощь!
Я не стал прикладывать реальные файлы, ибо думал, что хватит мозгов решить задачу, взяв за основу Ваше решение. Но увы...
Если не затруднит проделать примерно туже операцию, буду весьма благодарен!

Нужно создать макрос в файле "CW39", с помощью которого значения столбиков "сумма" (выделил зелёным фоном (AD;AI и т.д)) вставлялись в столбцы соответствующих дат в файл "выработка". Каждую неделю файл "CW39" будет создаваться на основе предыдущего с другим названием, следующий будет "CW40", вручную будет меняться только дата понедельника.
Изменено: Yeti_magic - 21 Сен 2018 16:50:48
 
Цитата
Yeti_magic написал:
Я не стал прикладывать реальные файлы
И правильно сделали: реальные не нужны. Нужны небольшие файлы-примеры с аналогичной структурой.
Ваши файлы удалил: почитайте уже правила...
Страницы: 1
Читают тему (гостей: 2)
Наверх