如何在运行时生成的工作簿使用范围variables
我正在尝试访问在运行时生成的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显示了这个错误“应用程序定义或对象定义的错误”
有人可以帮我解决这个问题
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)