我一直在尝试为我的公司建立一个工作簿来跟踪销售情况。
我遇到的问题是,我希望每个用户在本地计算机上保存自己的工作簿,以保存自己的信息。此工作簿使用用户表单提交数据,该表单从工作簿中的工作表中提取信息,并根据所售设备的品牌自动填充。
我希望能够在网络驱动器上更新此信息,并让工作簿在每次打开时自动更新。
我已经能够针对单个范围执行此操作,没有任何问题。
我希望能够对整个工作表执行此操作,以便我可以根据需要定义其他范围并将其填充给用户,而无需单独更新。
基本上,需要进行 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