2015-12-15 3 views
-1

Мне нужно собирать данные каждый месяц из разных книг, а затем переносить их в одну книгу основных данных.Скопируйте столбец в одну книгу и вставьте в другую. Создание нового столбца

MyFile = Dir 
Range("C2:D18").Copy 
ActiveWorkbook.Close False 

erow = Sheet1.Cells(3, 2).End(xlUp).Offset(0, 1).Row 
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range(Cells(erow, erow), Cells(erow, erow)) 

Код выше передачи мои данные и поместить их правильно в течение этого месяца, в столбце C и D. Когда я пытаюсь передать данные в следующем месяце, то заменить те, в С и D. Вместо этого я хочу новые данные для ввода в столбцы E и F и через месяц после этого G и H.

Как это можно сделать?

+0

Посмотрите на использовании 'for' цикла и' offset' функции – Tom

+0

Используйте индексы и петли так, что ваш индекс увеличивается на 2 (2 столбца), и петля также читает ваши данные из нескольких книг. –

+0

Вы можете быть 'erow' ... всего за один день –

ответ

0

Я предлагаю вам взглянуть на this answer, чтобы узнать, как правильно использовать Dir() для чтения кратких файлов. Я не уверен, что вам нужно читать несколько файлов за раз, в отношении вашего объяснения, но всегда приятно видеть пример clean! ;)

Btw, обратите внимание, что .Offset(0, 1) бесполезен в erow = ..., как вы используете .Row в конце концов, и ваш Offset влияют только на столбец ячейки.

Это должно работать нормально, если исходный код делать то, что вы хотите:

MyFile = Dir 
Range("C2:D18").Copy 
ActiveWorkbook.Close False 

eCol = Sheet1.Cells(3, 2).End(xlUp).End(xlToRight).Offset(0, 1).Column 
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Cells(2, eCol) 
Смежные вопросы