2013-02-13 48 views
0

我在Excel工作表中有2列。例如 第一列有一些其他单元格地址 - 列A有内容F1,F2,F3,F4和F5。 第二列也有一些其他单元格地址 - 列B包含内容x1,x13,x17,x72。指向由数组元素表示的单元格的宏

现在我想的宏,可以复制在专栏中提到单元格的内容第一(想F1 ... F5的内容复制)在专栏中提到的细胞2.

请帮

+1

我会说,你可以通过复制这些细胞中的文本,然后用在VBA中的'范围()'对象文本做到这一点,但最重要的问题是你到目前为止尝试过什么? – 2013-02-13 18:19:50

+0

欢迎来到StackOverflow。为您的问题添加详细信息将为您提供更好的答案。例如,列A的内容是否包含单词“和”或是单元格地址的逗号分隔列表?如果范围A与范围B的大小不一样,会发生什么? – Gus 2013-02-13 18:25:51

回答

0

假设在A列中每个单元格只包含一个单元格地址:

Sub TransferValues() 

Dim rngA As Range 
Dim rngB As Range 
Dim srcAddress As Range 
Dim destAddress As Range 
Dim r As Long 'row iterator 

Set rngA = Range("A2", Range("A2").End(xlDown)) 
Set rngB = rngA.Offset(0, 1) 

For r = 1 To rngA.Rows.Count 
    Set srcAddress = Range(rngA(r).Value) 
    Set destAddress = Range(rngB(r).Value) 
    destAddress.Value = srcAddress.Value 
Next 

End Sub 
+0

嗨大卫..感谢您的帮助。基于你的帮助,我能够将工作簿1第2列中的单元格内容移至另一个工作簿。的代码是:子TransferValues() 昏暗RNGA作为范围 昏暗RNGB作为范围 昏暗srcAddress作为范围 昏暗destAddress作为范围 昏暗R作为龙“行迭代 VarW1 =‘a.xlsx’ Sht1 =“Sheet 1中“ 集RNGA =范围(” A2" ,范围( “A2”)。完(xlDown)) 集RNGB = rngA.Offset(0,1) 当r = 1到rngA.Rows.Count 集srcAddress = Range(rngA(r).Value) 设置destAddress =工作簿(VarW1).Sheets(Sht1).Range(rngB(r).Value) destAddress.Value = srcAddress.Value Next End Sub – user2069033 2013-02-14 05:13:48

+2

不客气!如果这有助于解决您的问题,请“确认”我的建议答案。 – 2013-02-14 05:36:23

+0

@ user2069033详情请参阅:[接受答案:它是如何工作的?](http://meta.stackexchange.com/a/5235/210367) – 2013-02-14 08:13:35