使用VBA将电子表格从辅助工作簿复制到主工作簿

使用VBA将电子表格从辅助工作簿复制到主工作簿,vba,excel,excel-2013,Vba,Excel,Excel 2013,我需要拿一个电子表格,并将其与另一个工作簿中的电子表格进行比较。我知道我可以使用VBA实现这一点,但我需要从另一个工作簿复制一个电子表格,以便两个电子表格都位于同一个工作簿中,并且可以进行比较。如何使用VBA将电子表格从一个工作簿复制到另一个工作簿 您不需要复制工作表来进行比较。只需打开工作簿和,并设置对这些工作表的引用 Sub CompareWorkBooks() Dim wbPending As Workbook Dim wsPending As Worksheet

我需要拿一个电子表格,并将其与另一个工作簿中的电子表格进行比较。我知道我可以使用VBA实现这一点,但我需要从另一个工作簿复制一个电子表格,以便两个电子表格都位于同一个工作簿中,并且可以进行比较。如何使用VBA将电子表格从一个工作簿复制到另一个工作簿

您不需要复制工作表来进行比较。只需打开工作簿和,并设置对这些工作表的引用

Sub CompareWorkBooks()
    Dim wbPending As Workbook
    Dim wsPending As Worksheet

    Set wbPending = Workbooks("Items Pending")
    Set wsPending = wsPending.Worksheet("Items")

    Dim wbRecieved As Workbook
    Dim wsRecieved As Worksheet

    Set wbRecieved = Workbooks("Items Recieved")
    Set wsRecieved = Worksheet("Items")

End Sub
如果您提供工作簿和工作表的名称并提供列信息,我们可以在较短的时间内为您提供更好的答案。也不要害怕发布代码

如果希望用户选择目标工作簿和工作表:

  • 创建一个用户表单
  • 在代码模块顶部声明targetWorkbook和tartgetWorksheet
  • 添加命令按钮和组合框
  • 单击按钮时,将打开一个文件对话框
  • 现在已将引用设置为打开的文件
  • 所有工作表的名称都将添加到组合中
  • 更改组合框值会将引用设置为tartgetWorksheet
选项显式
公共targetWorkbook作为工作簿
公共工作表作为工作表
私有子命令按钮1_单击()
将targetWorkbook设置为工作簿
将ws设置为工作表
设置targetWorkbook=getTargetWorkbook
如果targetWorkbook=无,则
MsgBox“Sowmthing出错”,vbCritical,“重试”
其他的
对于targetWorkbook.工作表中的每个ws
ComboBox1.AddItem ws.Name
下一个
如果结束
端函数
函数getTargetWorkbook()作为工作簿
使用Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect=False
显示
出错时继续下一步
设置getTargetWorkbook=Application.Workbooks.Open(.SelectedItems(1))
错误转到0
以
端函数
专用子组合框1_Change()
设置tartgetWorksheet=targetWorkbook.Worksheets(ComboBox1.Value)

结束子部分
您的问题过于笼统和不清楚。请尝试提供更多详细信息请发布您尝试过的内容以及不起作用的结果…并寻求帮助。谢谢,我重新编写了问题,希望更清楚。只需在谷歌上搜索问题的标题,您就会找到许多示例谢谢!是否可以在每次运行程序时提示用户选择这两个工作簿?是否要打开文件浏览器对话框供用户选择工作簿?工作表是否始终具有相同的名称,或者用户是否也需要选择该名称?工作表将具有不同的名称,并且首选文件浏览器对话框。