Excel宏,合并工作表

时间:2011-05-15 23:54:31

标签: excel-vba vba excel

我有一个excel文件,里面有5张。第一张工作表包含从A1到A4单元格的超链接,其中一些名称指向工作簿中相应的4张工作表。 我需要写一个vba函数,它应该包含一个while循环,循环遍历表单1中的每个单元格,然后在读取表单1中的第一个单元格后,它应该转到连接的表单复制它的所有数据并将它放在不同的工作簿中然后再转到第1页中的下一个单元格复制数据并将数据附加到新工作簿并重复该过程,直到找到空单元格。 请给我一个示例,因为我是vba编程的新手。 提前谢谢

1 个答案:

答案 0 :(得分: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

很明显,很多情况都是硬编码的,我确信有更有效的方法可以做到这一点。