2016-01-12 3 views
0

В настоящее время я использую основную книгу Excel, в которой информация о членстве вводится в набор диапазонов, например. «Участник» относится к ячейке, в которой добавлен номер члена.Копирование значения ячейки в лист шаблона в Excel с помощью VBA

Введенная информация затем должна быть передана/скопирована в шаблон счета-фактуры, обозначенное

"folderPath & "\Templates\invoice.xlsx"", 

возникает проблема, когда коды достигает

"Cells.Range("B11").Value = Range("Member").Value" 

Примечание: «Член» на Майне Рабочий лист и «B11» находятся на листе шаблона.

Ранее пользовательская форма использовалась для ввода данных и передачи туда шаблона. Приведенный ниже код работал в этом сценарии. Однако, поскольку перенос/адаптация его слегка работает на листе Excel, он не работает на линии.

Есть приблизительно 10+ клеток, которые необходимо скопировать, поэтому предпочтительным является метод. Я исследовал это и пока не нашел «идеального» ответа.

Dim wb As Workbook 
Set wb = Workbooks.Open(folderPath & "\Templates\invoice.xlsx") 
'copy data to the template 
Cells.Range("B11").Value = Range("Member").Value 

ответ

0

Вы должны упомянуть, из которых УПРАЖНЕНИЯ вам нужно скопировать и где вы пастообразной

Dim wb As Workbook, wbk As Workbook, wbk1 As Workbook 
 
Set wb = Workbooks.Open(folderPath & "\Templates\invoice.xlsx") 
 

 
Set wbk = Workbooks("invoice.xlsx") 
 
'repalce your soruce workbook name with correct extension xlsm 
 
Set wbk1 = Workbooks("sorce.xlsx") 
 
'please change the sheet index with name as you wish 
 
wbk.Sheets(1).Cells.Range("B11").Value = wbk1.Sheets(1).Cells.Range("Member").Value

Надеюсь, это то, чего вы хотите :)

+0

Работает как очарование, большое спасибо @Linga –

0

Используйте приведенный ниже код для копирования ячейки

Dim xlwb As Workbook  
Set xlws = xlwb.Worksheets("Sheet1") 
xlws.Cells(1, 3) = (xlws.Cells(1, 1)) 
+0

Не могли бы вы предоставить пример с учетом исходного кода? –