将值放入范围内时,VBA“编译错误:未找到方法或数据成员”

时间:2019-04-16 13:18:50

标签: excel vba

完成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

1 个答案:

答案 0 :(得分:1)

.Cells使用整数,但您使用的是revValue,它是一个范围变量。