完成VBA初学者,然后单击按钮以尝试获取存储在A1中RawData表中的值(它将是粘贴命令的最终列值),将其转换为文本或值(我猜是吗?)并将其存储为revValue
,然后在复制和粘贴命令中将其添加到范围中。我知道当我只放置范围值即Destination:=dir.Range("A30")
时,复制和粘贴工作正常,但是Destination:=dir.Cells(30, revValue)
出现“编译错误:未找到方法或数据成员” ...确保这是一个非常明显的例子但是让我发疯。任何帮助表示赞赏。
Private Sub Import_Click()
Dim source As Worksheet
Dim dir As Worksheet
Dim revValue As Range
Set source = Worksheets("RawData")
Set dir = Worksheets("Register")
'Store the RawData Cell value as a text or integer?
Set revValue = source.Cell(1, 1).Value
Worksheets("RawData").Activate
Worksheets("RawData").Columns("A:D").AutoFit
'These two function work fine
source.Range("C1", Range("C1").End(xlDown)).Copy Destination:=dir.Range("A30")
source.Range("D1", Range("D1").End(xlDown)).Copy Destination:=dir.Range("J30")
'This one doesn't
source.Range("E1", Range("E1").End(xlDown)).Copy Destination:=dir.Cells(30, revValue)
End Sub
答案 0 :(得分:1)
.Cells
使用整数,但您使用的是revValue
,它是一个范围变量。