VBA : 将所有数据复制到另一个工作簿的 sheet
VBA : Copy all data to another workbook's sheet
我有一个宏在我的电脑上运行良好,但在我朋友的电脑上却不行,我以前从未见过。
错误来自这部分:
...
Workbooks("GOP_Flow_" + Format(DateAdd("m", -1, Date), "yyyy") + Format(DateAdd("m", -1, Date), "mm")).Worksheets(1).UsedRange.Copy
main.Worksheets(2).Range("A1").PasteSpecial (xlPasteValues)
...
复制行上有 运行 次错误 9:"subscript out of range"。
- 我们用的是同一个版本的Excel怎么会发生这种事?
- 是否有其他方法可以做到这一点?
提前致谢。
只是猜测...您在查看文件名的文件夹选项设置中有不同的选项。
在您的 PC 上,选项 Hide extensions for know file types
已选中,因此文件的扩展名在文件名中不可见。因此 Workbooks("GOP_Flow_201704)
无需文件扩展名即可为您工作。
在您朋友的 PC 上,该选项未选中,因此扩展名成为工作簿名称的一部分,类似于 "GOP_Flow_201704.xlsx"
,因此您需要将扩展名添加到名称中...
Workbooks("GOP_Flow_" & _
Format(DateAdd("m", -1, Date), "yyyy") & _
Format(DateAdd("m", -1, Date), "mm") & ".xlsx")...
' ^^^^^^^
作为一种解决方案,将文件的扩展名放在名称中 在这两种情况下都有效。
p.s。顺便说一句,不要使用 +
进行字符串连接,而是使用 &
。
我有一个宏在我的电脑上运行良好,但在我朋友的电脑上却不行,我以前从未见过。
错误来自这部分:
...
Workbooks("GOP_Flow_" + Format(DateAdd("m", -1, Date), "yyyy") + Format(DateAdd("m", -1, Date), "mm")).Worksheets(1).UsedRange.Copy
main.Worksheets(2).Range("A1").PasteSpecial (xlPasteValues)
...
复制行上有 运行 次错误 9:"subscript out of range"。
- 我们用的是同一个版本的Excel怎么会发生这种事?
- 是否有其他方法可以做到这一点?
提前致谢。
只是猜测...您在查看文件名的文件夹选项设置中有不同的选项。
在您的 PC 上,选项 Hide extensions for know file types
已选中,因此文件的扩展名在文件名中不可见。因此 Workbooks("GOP_Flow_201704)
无需文件扩展名即可为您工作。
在您朋友的 PC 上,该选项未选中,因此扩展名成为工作簿名称的一部分,类似于 "GOP_Flow_201704.xlsx"
,因此您需要将扩展名添加到名称中...
Workbooks("GOP_Flow_" & _
Format(DateAdd("m", -1, Date), "yyyy") & _
Format(DateAdd("m", -1, Date), "mm") & ".xlsx")...
' ^^^^^^^
作为一种解决方案,将文件的扩展名放在名称中 在这两种情况下都有效。
p.s。顺便说一句,不要使用 +
进行字符串连接,而是使用 &
。