将数据从一个工作簿复制到另一个工作簿而不打开具有特定条件的源文件

时间:2013-02-21 08:44:06

标签: excel-vba vba excel

我想到了一个新问题:

Row  Columns    
7    C  V  M  G
9    X  P  M  N

描述: “7”是写在E列的第2个单元格中的行号 C,V,M,G是写在“7”前面的不同单元格中的列名。 我想分别将C7,V7,M7和G7的数据映射到X9,P9,M9和N9 请帮忙。

其实问题是:excel工作簿中有一张表有上面提到的表。表基本上包含2行。第一行在表的第一个单元格中具有值7(由我指定的行)。第一行中的其他单元本身具有其他内容,如C,A等(基本上是其他单元名称)。第二行基本上是目标地址。描述类似于第一行的描述。现在我想要的是C7的内容将被复制到X9的内容,V7的内容将被复制到P9等......

1 个答案:

答案 0 :(得分:0)

想象一下,我在Excel中设置如下:

       E      F       G       H       I
 1     
 2     7      C       V       M       G
 3     9      X       P       M       N

您可以使用以下代码将C7复制到X9,V7到P9等。

Sub CopyCellsUsingTable()
    Dim sourceCells As Range, cl As Range
    Dim sourceRow As Long, targetRow As Long

    Set sourceCells = Range("F2:I2")
    sourceRow = Range("E2")
    targetRow = Range("E3")

    For Each cl In sourceCells
        Range(cl.Value & sourceRow).Copy Destination:=Range(cl.Offset(1, 0).Value & targetRow)
    Next cl
End Sub

您可能需要更新单元格引用。