2016-02-03 5 views
-1

Мне нужна помощь в создании фрагмента кода.Автоматическое копирование столбцов между книгами

  • Определите две отдельные книги: workbook1 (исходный файл) & рабочая тетрадь2 (active.workbook).
  • введите название столбца в книге 1, найдите название столбца в книге 2 и скопируйте содержимое столбца из рабочей книги1 в рабочую книгу 2.
  • перейдите к следующему столбцу в рабочей книге1 до тех пор, пока его название не будет пустым.
+0

пытался что-нибудь? где ваш код? Я мог бы написать это легко, и я новичок в vba ...;) – Kathara

+0

Привет, Катхара, конечно, обновите исходное сообщение тем, что у меня есть до сих пор ... Я застрял на бит, который идентифицирует заголовок, и находит то же самое в другой книге ... – Dominic

+0

Просто для будущего: всегда отправляйте код, который у вас есть здесь, в stackoverflow. В противном случае едва ли кто-нибудь поможет ...;) – Kathara

ответ

1

Этот код работает для меня. Обратите внимание на комментарии.

Sub copyA2B() 
Dim wb As Workbook 
Dim wbSrc As String 
Dim cel As Range 
'assuming you don't know the source workbook name, looping through the workbooks, otherwise no loop needed 
For Each wb In Workbooks 
    If wb.Name <> ActiveWorkbook.Name Then 
     wbSrc = wb.Name 
     Exit For 
    End If 
Next 
With Workbooks(wbSrc).ActiveSheet 
    'assuming the column order is different between the two files, looping through the titles, otherwise no loop needed 
    For Each cel In .Rows(1).Cells 'assuming the titles are in the first row in both workbooks 
     If cel <> "" And cel(2) <> "" Then 
      .Range(cel(2), cel(1).End(xlDown)).Copy Rows(1).Find(cel.Value)(2) 
     End If 
    Next 
End With 

End Sub

+0

Hi EranG большое спасибо за то, что поставил меня на правильный путь. Я знаю книги (ThisWorkbook), где находится код, а источник найден через пользовательскую форму для обновления/подготовки файла. Поэтому у меня есть имя файла точно. – Dominic

+0

Вы можете скопировать этот код в файл назначения и запустить его оттуда, даже если вы знаете имена файлов – EranG

+0

Если решение работает для вас, пометка ответа приветствуется. – EranG

Смежные вопросы