如何将数据从一个工作表复制到另一个工作表(使用后一个工作表的间接引用)

时间:2019-05-15 14:38:36

标签: excel vba

我正在尝试向工作中的excel文件添加一些简单的VBA函数(我在一家营销公司工作),并且努力编写一个可以将数据从一张纸复制到另一张纸的按钮(需要将其复制到的位置)每天更改)

我正在使用VBA尝试选择我需要复制的值的范围(并且它可以正常工作),但是我正努力将其粘贴到所需的每天变化的单元格中。 我尝试编写一个公式,该公式为正确的单元格提供了一条路径,然后将间接函数引入到VBA代码中进行粘贴,但是我似乎无法使其正常工作。

Sub Gross_Wrap_Click()

Sheets("AUTOM").Select
Range("C1:C5").Select
Selection.Copy

Sheets("Daily").Select
Range([indirect("'AUTOM!O7'")]).Select
Selection.Paste

End Sub

我希望最终产品是复制并粘贴到DAILY表中所需单元格的AUTOM表中单元格C1:C5的内容(所需单元格是从函数派生的,并通过间接途径包含在VBA中)

但是,我只是收到许多不同的错误消息

1 个答案:

答案 0 :(得分:0)

如果我没有弄乱它阅读您的代码,应该这样做:

Option Explicit
Sub Test()

    Dim rng As Range 'Range object, means a cell or a range of cells
    With ThisWorkbook 'here you reference the workbook, so you don't need to write Thisworkbook everytime, just "."
        Set rng = .Sheets("Daily").Find(.Sheets("AUTOM").Range("O7")) 'we set the object rng to the cell in sheets Daily which has the Cell O7 from AUTOM sheet value.
        .Sheets("AUTOM").Range("C1:C5").Copy 'copy the range from AUTOM
        rng.PasteSpecial xlPasteValues  'and paste it's values to the range object we declared and defined above
    End With

End Sub