mou*_*mou 3 excel vba excel-vba
我是VBA的新手并尝试自动更新工作簿.我有一个源工作簿和目的地工作簿乙.两者都有一张名为推出摘要的表格.我希望用户在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
Run Code Online (Sandbox Code Playgroud)
sht1并sht2应声明为Worksheet.至于更新工作簿而不打开它,可以完成,但需要采用不同的方法.为了使它看起来你没有打开工作簿,你可以打开ScreenUpdating/关闭.
试试这个:
Dim wkb1 As Workbook
Dim sht1 As Worksheet
Dim wkb2 As Workbook
Dim sht2 As Worksheet
Application.ScreenUpdating = False
Set wkb1 = ThisWorkbook
Set wkb2 = Workbooks.Open("B.xlsx")
Set sht1 = wkb1.Sheets("Roll Out Summary")
Set sht2 = wkb2.Sheets("Roll Out Summary")
sht1.Cells.Copy
sht2.Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wkb2.Close True
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54536 次 |
| 最近记录: |