我正在尝试访问在运行时生成的excel工作簿
我正在使用此代码 “
Dim w2 As Workbook
Dim r as range
Set w2 = Workbooks.Add
Set w2 = ActiveWorkbook
Set r = w2.Sheets("Sheet1").Range(Cells(5, 4), Cells(5, 4))
r.PasteSpecial Paste:=xlPasteValues'
行号图5显示了此错误“应用程序定义或对象定义的错误”
有人可以帮我解决这个问题......
答案 0 :(得分:1)
1)此行不需要:
Set w2 = ActiveWorkbook
因为下一行已经返回了新的工作簿对象:
Set w2 = Workbooks.Add
2)您应该完全限定Cells
个对象,即您应该指定哪个工作簿/表单元格属于:
Set r = w2.Sheets("Sheet1").Range(w2.Sheets("Sheet1").Cells(5, 4), w2.Sheets("Sheet1").Cells(5, 4))
或更短:
With w2.Sheets("Sheet1")
Set r = .Range(.Cells(5, 4), .Cells(5, 4))
End With
但由于您的Range
对象仅包含单个单元格,因此您只需使用:
Set r = w2.Sheets("Sheet1").Cells(5, 4)