2013-02-13 47 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