Поиск и копирование диапазона данных между книгами - PullRequest
0 голосов
/ 16 октября 2019

Я работал над этим кодом некоторое время, и любая помощь приветствуется!

Я хочу иметь возможность поместить известную строку в открытый лист Excel "B7" и расположение файла в "B6". Используя эти входные данные, я хочу открыть другой файл, найти значение "B7" (заголовок таблицы данных), скопировать все данные в этом столбце и затем вернуться в рабочую книгу 1, чтобы вставить ее.

IЯ думаю, что моя функция поиска работает, но макрос возвращает любой столбец ниже любой ячейки, уже выбранной при открытии книги 2.

Sub FindB7()

    Dim Look As Range
    Dim Sh As Worksheet

    Columns("H:H").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

    Range("H1") = Range("B6")
    Goal = Range("B7").Value

    Range("B6").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

    For Each Sh In ThisWorkbook.Worksheets
        With Sh.UsedRange
            Set Look = .Cells.Find(What:=Goal)
            If Not Look Is Nothing Then
                adrs = Range(Look.Address).Select
                Data = Range(adrs, Selection.End(xlDown))
                ActiveWindow.Close
            Else
                Data = "Not Found"
            End If
        End With
    Next

    'paste data in original WkBk

    Range("H2").Value = Look
    Range("H3:H1000").Value = Data

'now remove all "extra" data

Cells.Replace What:="#N/A", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

End Sub

1 Ответ

0 голосов
/ 16 октября 2019

Моя репутация слишком низкая, чтобы комментировать, но я могу дать ответ, у меня есть идея. Вы перебираете все листы, но с первыми объявлениями диапазона лист не дается, например, при изменении столбцов ("H: H") на лист ("Sheet1"). Столбец ("H: H") может не дать ссылкув столбец H на неправильном листе.

...