用于将值从一个范围复制到另一个范围的VBA代码

时间:2014-07-15 19:23:11

标签: excel vba excel-vba

我想编写一段执行以下操作的VBA代码:

  1. 使用单元格G13中的值返回单元格的单元格引用以确定列:

    = ADDRESS(2,MATCH(G13,A2:K2,0),4)

  2. 将范围CDPayment中的值复制到该单元格中。

  3. 到目前为止我写的代码是:

    Dim populate As Long
    
    populate = "=ADDRESS(2,MATCH(RC[-3],R[-11]C[-9]:R[-11]C[1],0),4)"
    'This will be the variable that holds the cell reference of the cell I want to copy the       values to
    
    Range("CDPayment").Copy
    Sheets("Rec").Range("populate").PasteSpecial xlPasteValues
    

    我是VBA的新手,所以非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我可以推荐一种替代方法吗?给单元格G13一个别名,就像你使用" CDPayment"范围。如果CDPayment是一个数值列表,请使用Range。(MyAliasName)和sum函数为其赋值:

Sheets("Rec").Range("MyCell").Value = WorksheetFunction.Sum(Range("CDPayment"))

如果它只是一个字符串值:

Sheets("Rec").Range("MyCell").Value = Range("CDPayment")