Excel Macro, объединение листов - PullRequest
0 голосов
/ 16 мая 2011

У меня есть файл Excel, который содержит 5 листов. 1-й лист содержит гиперссылки от ячеек А1 до А4 с некоторыми именами, указывающими на соответствующие 4 листа в книге. Мне нужно написать функцию vba, которая должна состоять из цикла while, проходить по каждой ячейке на листе 1, затем после чтения 1-й ячейки на листе 1 она должна перейти на связанный лист, скопировать все данные из нее и поместить в другую рабочую книгу и снова перейдите к следующей ячейке на листе 1, скопируйте данные и добавьте данные в новую рабочую книгу и повторяйте процесс, пока не найдете пустую ячейку. Пожалуйста, предоставьте мне образец, поскольку я новичок в программировании VBA. Заранее спасибо

1 Ответ

1 голос
/ 16 мая 2011

Для демонстрационных целей, так как ФП первоначально запросил образец.Это займет 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

Очевидно, что многие из них жестко запрограммированы в этой ситуации, и я уверен, что есть более эффективные способы сделатьэто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...