我是新手,试图自动更新工作簿。我有一个源 * 工作簿A* 和一个目标 * 工作簿B*。两者都有一个工作表称为 * 转出摘要 *。我希望用户更新A中的此工作表,然后单击更新按钮,该按钮应运行我的宏。此宏应自动更新工作簿B中的工作表,而无需打开工作簿B。
我正在尝试这段代码,但它不工作,并给我一个错误:
Dim wkb1 As Workbook
Dim sht1 As Range
Dim wkb2 As Workbook
Dim sht2 As Range
Set wkb1 = ActiveWorkbook
Set wkb2 = Workbooks.Open("B.xlsx")
Set sht1 = wkb1.Worksheets("Roll Out Summary") <Getting error here>
Set sht2 = wkb2.Sheets("Roll Out Summary")
sht1.Cells.Select
Selection.Copy
Windows("B.xlsx").Activate
sht2.Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
字符串
2条答案
按热度按时间kkbh8khc1#
sht1
和sht2
应该被声明为Worksheet
。至于更新工作簿而不打开它,它可以完成,但需要不同的方法。为了让它看起来像你没有打开工作簿,你可以打开/关闭ScreenUpdating
。试试这个:
字符串
wtzytmuj2#
用这个-这个对我有用
字符串