VBA-在工作簿之间复制单元格

时间:2018-09-12 19:56:47

标签: excel vba excel-vba

我正在编写一个VBA程序,该程序可以更改excel数据库的外观。最后,我需要在顶部添加一个“标题”(5行文本)。问题是,我无法使用VBA插入文本,因为其中包含与VBA不兼容的字母(例如á,é...),我需要从另一个excel文件中插入该文本。 我拥有的宏存储在独立的excel工作簿中,该工作簿还包含我需要复制到数据库中的标头的单元格。问题是,我正在使用的Excel文件的名称不同。有没有一种方法可以在这两个文件之间切换并在它们之间复制单元格。我可以存储正在使用的excel文件的名称,然后在VBA代码中使用它在工作簿之间进行切换吗?

1 个答案:

答案 0 :(得分:1)

不确定这100%是否可以回答您的问题,但希望它能对您有所帮助,您可以使用以下两种方法将两个工作簿打开并存储为对象:

Dim wb as Workbook, wb2 as Workbook 
Set wb  = Workbooks.Open("C:\User\Sample_Workbook_File_Path_1.xlsx")
Set wb2  = Workbooks.Open("C:\User\Sample_Workbook_File_Path_2.xlsx")

从那里,您可以使用以下方法从任一工作簿中调用值:

'to get the second workbooks excel file name into a worksheet: "Sample_Workbook_2"
wb.Worksheets("Sample_Worksheet").Range("A1").Value = wb2.Name 

'to copy files 
wb2.Worksheets("Second_Workbooks_Worksheet").Range("A2:A100").Copy _
   wb.Worksheets("Sample_Worksheet").Range("A2") 

'Alternatively you can store the entire workbooks path name instead of the file name using: 
wb.Worksheets("Sample_Worksheet").Range("A1").Value = wb2.Path