使用宏或 VBA 复制包含多个定义的范围名称的完整工作表

使用宏或 VBA 复制包含多个定义的范围名称的完整工作表

我一直在尝试为我的公司建立一个工作簿来跟踪销售情况。

我遇到的问题是,我希望每个用户在本地计算机上保存自己的工作簿,以保存自己的信息。此工作簿使用用户表单提交数据,该表单从工作簿中的工作表中提取信息,并根据所售设备的品牌自动填充。

我希望能够在网络驱动器上更新此信息,并让工作簿在每次打开时自动更新。

我已经能够针对单个范围执行此操作,没有任何问题。

我希望能够对整个工作表执行此操作,以便我可以根据需要定义其他范围并将其填充给用户,而无需单独更新。

基本上,需要进行 2 个处理,第一个过程已经完成,但我会告诉你为什么我需要复制多个范围

-打开用户表单
-选择品牌
-用户表单根据 Sheet2.Range("品牌") 自动填充多个模型 -
选择品牌2
-根据 Sheet2.Range("品牌2")
填充 -提交

第二个过程是
- 打开 NetworkLocation/Workbook
- 添加范围(“Brand3”)
- 保存

- 打开本地工作簿

-Sheet2 = NetworkLocation/Workbook/Sheet2
-Userform 填充 Brand3 的附加数据

这可能吗?您能建议如何进行吗?

谢谢 :)

答案1

好的,一切都已经修复。:)

并回答我自己的问题,哈哈 - 只是为了谷歌的缘故。

Private Sub Workbook_Open()

Const fromFile = "NetworkDriver\Folder\Workbook.xlsx"

Application.DisplayAlerts = False
Sheets("Sheet8").Delete
Sheets("Sheet9").Delete
Application.DisplayAlerts = True

Dim srcBook As Workbook
Dim wkb As Workbook
Set wkb = ActiveWorkbook
' open workbook and set reference!





Set srcBook = Application.Workbooks.Open(fromFile, _
UpdateLinks:=False, _
ReadOnly:=True, _
AddToMRU:=False)

Application.ScreenUpdating = False
srcBook.Sheets("Sheet8").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
srcBook.Sheets("Sheet9").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

srcBook.Close False
wkb.Sheets("Sheet8").Visible = False
wkb.Sheets("Sheet9").Visible = False

Application.ScreenUpdating = True



End Sub

相关内容