2014-01-16 11 views
0

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

образец данных:

-26.32 
-20.56 
-44.93 
-26.64 
-45.99 
-40.76 
-34.21 
-25.54 
-48.63  
2.966  
9.163  
4.879  
5.01  
11.48  
16.19  
16.19 

Как создать программу, которая передает это от Workbook А до УПРАЖНЕНИЯ в? Также Workbook A может быть любой открытой книгой. Это может быть не тот же файл, когда эта программа запускается снова. Заранее спасибо.

Текущий код:

Sub Sample() 

Dim wbA As Workbook, wbB As Workbook 
Dim filepath As String 

Set wbA = ThisWorkbook 'you say the current workbook 
filepath = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", , , , False) 

Set wbB = Workbooks.Open(filepath) 

With wbA 
    .Sheets("Results").Range("A1").Copy wbB.Sheets("Sheet1").Range("A1") 
End With 

End Sub 

Выбор источника и назначения Workbook:

Sub Sample() 

Dim wbA As Workbook, wbB As Workbook 
Dim filepath As String 

filepath = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", , , , False) 
Set wbA = Workbooks.Open(filepath) 

filepath = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", , , , False) 
Set wbB = Workbooks.Open(filepath) 

With wbA 
    .Sheets("Sheet1").Range("A1:A3").Copy wbB.Sheets("Sheet1").Range("A1:A3") 
End With 

End Sub 
+0

много недостающих битов информации здесь. но я отправил общий ответ в любом случае. Я не создаю «Созданный моей программой и не сохраненный», как вы это делаете? поэтому я не включил его в код. возможно, вы можете уточнить, как вы выбираете несохраненный WB? открываете ли вы его или просто добавляете новый? – L42

+0

Этот вопрос является частью более крупной программы. Рабочая книга A уже создана программой, я уже сделал эту часть. Мне просто нужен способ скопировать и вставить данные между двумя рабочими книгами – user3163920

ответ

0

Попробуйте это:

Sub Sample() 

Dim wbA as Workbook, wbB as Workbook 
Dim filepath as String 

Set wbA = Thisworkbook 'you say the current workbook 
filepath = "C:\User\UserName\Documents\Myworkbook.xlsx" 'hard coded version 

Set wbB = Workbooks.Open(filepath) 

With wbB 
    .Sheets("your sheet name here").Range("your range here").Copy _ 
    wbA.Sheets("destination sheet here").Range("destination range here") 
End With 

End Sub 

Если же вы хотите, чтобы выбрать файл, используйте этот line:

filepath = Application.GetOpenFilename("Excel Files (*.xlsx), "*.xlsx",,,,False) 'open file dialog version 

Затем вам нужно выбрать файл из местоположения.
Надеюсь, это поможет.

Edit1: Попробуйте это

filepath = Application.GetOpenFilename(filefilter:="Excel Files (*.xlsx), "*.xlsx") 'open file dialog version 
+0

Источник wb уже создан, я просто не уверен, как установить его в wbA – user3163920

+0

, как вы его создаете? это временно? или вы открываете его где-то еще? я должен знать, поэтому я могу помочь вам «установить» его. – L42

+0

Workbook A - это текущая книга. Workbook B - это готовый файл, который у меня уже есть, я его не сделал, он загружен. – user3163920

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