【发布时间】:2017-07-30 02:16:20
【问题描述】:
大家下午好。我在您的帮助下创建了第一个宏,它运行良好,直到我使用来自 Service-Now 报告的实际源文件和唯一的选项 .XLS 进行测试,所以当我在 Excel 2013 中打开源文件时,它以兼容模式打开和宏给我'运行时错误'9'“下标超出范围”。我应该怎么做才能让它发挥作用?
Sub HELLO()
Dim x As Workbook
Sheets("Sheet1").Cells.Clear
'## Open workbook first:
Set x = Workbooks.Open("C:\Users\500722\Desktop\dashboard\task.xls")
'Now, transfer values from x to y:
Sheet1.Cells(1, 1) = x.Sheets("Sheet1").Range("A1")
With x.Sheets("Sheet1").UsedRange
'Now, paste to y worksheet:
Sheet1.Range("A1").Resize( _
.Rows.Count, .Columns.Count) = .Value
End With
x.Close
End Sub
【问题讨论】:
-
(a) 哪一行给出了错误? (b) task.xls 是否包含名为“Sheet1”的工作表?
-
P.S.回复 cmets 中提出的问题也很有礼貌 - 我刚刚注意到您还没有回复我在您的第一个问题上留下的评论。一旦解决了您的问题,最好将答案标记为“已接受”。
-
@YowE3K 是的,它有一个名为 page1 的工作表 1 和这一行 Sheet1.Cells(1, 1) = x.Sheets("Sheet1").Range("A1")
-
@YowE3K 对不起,我没有看到评论,是的,它有一个名为 page1 的工作表 1 和这一行 Sheet1.Cells(1, 1) = x.Sheets("Sheet1").Range ("A1")
-
我所指的尚未得到回应的评论是关于您提出的第一个问题(昨天某个时间)。我还没有担心关于这个的评论——人们不能一直在线,所以 cmets 没有立即回复是很自然的。但是提出 3 个新问题而不回答第一个问题的问题是不礼貌的。