2011-05-15 107 views
0

我有一個包含5張工作表的Excel文件。第一張表包含從A1到A4單元格的超鏈接,其中一些名稱指向工作簿中的相應4張表格。 我需要編寫vba函數,它應該由一個while循環組成,循環遍歷表1中的每個單元格,然後在讀取表單1中的第一個單元格之後,它應該去連接的表單中複製所有數據並將其放入不同的表單中工作簿並再次轉到工作表1中的下一個單元格,複製數據並將數據添加到新工作簿並重復該過程直到找到空單元格。 請爲我提供一個樣本,因爲我是vba編程的新手。 謝謝您提前Excel宏,合併工作表

+0

你到目前爲止嘗試過什麼嗎?另外,什麼是一個鏈接的例子 - 對一系列單元格或..? – jonsca 2011-05-16 00:36:57

+0

鏈接將指向一個特定的單元格,例如A2表單中的一個。 – 2011-05-16 00:41:07

+1

實際上有一個簡單的方法可以讓你獲得這個代碼。您可以錄製宏(當您正在執行操作時),停止錄製並查看代碼。您只需將步驟概括爲您的while循環。試試看,我會幫你解決問題。 – jonsca 2011-05-16 00:46:41

回答

1

爲了說明的目的,因爲OP最初要求一個樣本。這將在工作簿的第一個工作表中定義4個單元格,並從第二個和第三個工作表中收集選定單元格的數據並將其粘貼到第4個工作表中。

第一片:

 A 
1 Sheet2!C8 (these are all hyperlinks) 
2 Sheet2!G15 
3 Sheet3!C10 
4 Sheet3!D13 

宏代碼:

Sub Test2() 
    Dim cell As Range 
    Dim sel As Range 
    Dim index As Integer 
    index = 1 
    Set sel = Range(Cells(1, 1), Cells(1.1).End(xlDown)) 
    For Each cell In sel    
     cell.Hyperlinks(1).Follow 
     ActiveCell.Copy 
     Sheets(4).Select 
     Range("A" & index).PasteSpecial 
     index = index + 1 
    Next 

End Sub 

顯然,它的很多硬編碼到這種情況,我敢肯定有更多的有效的方法來做到這一點。