level 6
Sub 打印28天报告1()
Sheets("导入").Select
a = Sheet1.Range("V12")
b = Sheet1.Range("V13")
Application.Workbooks.Open a
Sheets("28天").Activate
'ActiveWindow.SelectedSheets.PrintOut Copies:=1 '打印水泥28天报告
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
2024年08月25日 00点08分
1
level 6
运行到open语句时,a路径的文件可以打开,弹出下标越界。
2024年08月25日 00点08分
2
level 7
直接写sheets(工作表名称),未指定工作簿,默认是在当前的工作簿查找
如果电脑性能过低,或者文件过大,在执行Activate时文件可能未打开,当前工作簿还是之前的工作簿,其中没有指定名称的工作表,会提示下标越界
解决方法是在打开新文件时将其赋值给工作簿对象,并在后续操作中指定工作簿对象
Dim wb As Workbook
Set wb = Application.Workbooks.Open(a)
wb.Sheets("28天").Activate
如果你们公司缺VBA开发可以联系我,擅长使用VBA脚本对Excel/WORD/PPT/ACCESS/OUTLOOK邮箱数据进行自动化处理,以及批量运行SQL语句处理数据,十年开发经验,可在两周内到岗。
2024年08月25日 02点08分
3
特别感谢,我调整一下。
2024年08月25日 02点08分
你好,文件能打开,同时workbooks.open这一句报错,不是后面的
2024年08月25日 03点08分
@风行寰宇 你在下一行代码左边点一下,设置个断点,运行一下,看看到底是哪一行的问题
2024年08月25日 03点08分
@TuskAi 看下图,原来在office2016能正常运行,现在用的WPS。
2024年08月25日 03点08分
level 7
这么简单的东西。
我也遇到过类似的情况,我是在WORD中自动添加一个编号再打印。
用AI。。。
一下就给你改出来了。。
2024年08月25日 06点08分
5