2011-05-15 93 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 

显然,它的很多硬编码到这种情况,我敢肯定有更多的有效的方法来做到这一点。