VBA EXCEL将工作簿合并到现有工作簿中

VBA EXCEL将工作簿合并到现有工作簿中,vba,excel,merge,Vba,Excel,Merge,我正在尝试将工作簿与现有工作簿合并,如何使用Visual Basic 2010 Express edition进行合并 我试图实现的是,我有一个主文件,名为“主计划”。在VB窗体上,我将有一个按钮,该按钮将此文件复制到用户桌面上,并在某种picturebox/viewingbox中打开复制的版本,该按钮仍允许我编辑复制的excel工作表。在复制的excel文件中添加信息(无需删除,只需添加信息)后,将出现一个名为“保存”的按钮。单击“保存”按钮后,我希望复制的excel工作表与主“主计划”文件合

我正在尝试将工作簿与现有工作簿合并,如何使用Visual Basic 2010 Express edition进行合并

我试图实现的是,我有一个主文件,名为“主计划”。在VB窗体上,我将有一个按钮,该按钮将此文件复制到用户桌面上,并在某种picturebox/viewingbox中打开复制的版本,该按钮仍允许我编辑复制的excel工作表。在复制的excel文件中添加信息(无需删除,只需添加信息)后,将出现一个名为“保存”的按钮。单击“保存”按钮后,我希望复制的excel工作表与主“主计划”文件合并/覆盖

我将尝试用一个例子更清楚地解释这一点:

在单元格A1中的主进度表中,我的值为3。我打开这个VB 2010表单(这会自动在我的桌面上创建主计划的副本,并在某种图片/查看框中打开它),我在单元格B1中添加值4。现在,当我单击“保存”时,复制的工作簿和主工作簿将“合并”在一起(复制文件上的更改将添加到主文件中)。现在,如果我打开主“主计划”文件,它在单元格A1中的值为3,在单元格B1中的值为4

这可能吗?如果是这样,我将如何合并这两本工作簿?除了这个合并能力,我什么都记下来了


请帮助我

有一个saveas函数。代码示例:

ActiveWorkbook.SaveAs "File\Name\With\Path" & ".Extension", xlCSV ' the last thing is the      file type. yours would probably be an excel type so: XlExcel7
如果您在帮助文件中查找“Workbook.SaveAs Method(Excel)”,它将包含此SaveAs函数的帮助文件

所以基本上,你说复制的和实际的完全一样,复制的就是你实际添加数据的那个。所以基本上,这个函数将只取复制的函数,并覆盖主函数。因此,对复制的文件所做的任何更改都将反映在主文件中

注意:我相信如果您添加,这将弹出覆盖消息“您想覆盖吗?”

Application.DisplayAlerts=False
before和
Application.DisplayAlerts=true
在它不会弹出该消息后,它只会这样做

编辑 当点击按钮保存时,要有一个子文件夹,将他们正在使用的工作簿与主工作簿进行比较。循环浏览所有数据并进行测试,查看主控表中的数据是否与其数据不同,并突出显示更改,在保存前弹出消息框查看更改,并选择“是”进行覆盖或其他操作

奥尔尔

使用dropbox。它是免费的。基本上,您将文件保存到dropbox帐户,然后与其他人共享dropbox,并且有权限和其他内容,用户对文件进行更改时,他们会上传更改(只需单击一个简单的按钮),其他所有人都会弹出一个小窗口,说已经进行了更改,然后他们点击一个小按钮,用这些变化更新他们的文件。它还有一些功能,比如版本控制,你可以回滚,它有跟踪功能,用户可以准确地看到更改的内容和以前的内容,并且可以准确地解决冲突,如果jimmy在bob之前保存,当bob保存时,它将简单地合并更改。另外,例如,如果jimmy更改了数据,进行了
a1=“test”
并且bob进行了更改
a1=“testING”
,那么它将弹出一条消息,指出存在冲突,并将向bob显示冲突的更改,因此他可以取消、覆盖或有选择地决定覆盖哪些更改,以及回滚哪些更改


谷歌dropbox,你会发现很多细节,它非常适合多个用户编辑一个文件。为什么要重新发明轮子:)

欢迎光临。请分享一些您已经拥有的代码,以便我们可以帮助您。这可能会有所帮助。问题是,如果我有多个用户同时打开主文件,该怎么办?示例:两个用户:bill,jimmy。主文件单元A1的值为3。bill和jimmy都单击了按钮,它会将复制的main版本保存到他们的桌面上。bill将值4添加到单元格B1。jimmy向单元格C1添加值5。bill首先保存,因此现在主文件在单元格A1中包含3个,在单元格B1中包含4个。但是现在如果jimmy保存,主文件将在A1中包含3个,在C1中包含5个,但B1将没有值,因为它们同时获取主文件。我所寻找的是一个类似于层/重叠的解决方案,这可能吗?注:比尔和吉米在不同的计算机上,但在同一个网络上注:我编辑的答案:)