Я работаю над электронной таблицей, обобщающей данные стандартных шаблонов, вставленных в совместный файл Excel в виде отдельных вкладок.

Можно ли автоматически импортировать данные из указанной ячейки в сводную вкладку при создании новой вкладки? Поскольку данные, которые я хочу извлечь, находятся в одной ячейке в каждом документе, это сэкономит мне много времени и усилий

1 ответ1

1

Примерно так будет создан список в столбце A листа1 «Имена листов» , и каждый раз, когда ячейка C1 на любом листе изменяется, он помещает значение этой ячейки в «sheet1» в столбце B, рядом с соответствующим именем листа в столбце «A».

Он идет в модуле ThisWorkbook через редактор VBA *. Вы можете изменить имя листа и диапазоны по мере необходимости.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Intersect(Target, Sh.Range("C1")) Is Nothing Then
        Dim ws As Worksheet
        Set ws = Sheets("Sheet1")
        Dim iRow As Integer
        On Error GoTo Yikes:
TryAgain:
        iRow = Application.WorksheetFunction.Match(Sh.Name, ws.Range("A1:A50"), 0)
        ws.Cells(iRow, 2) = Target.Value
        Exit Sub

Yikes:

        Dim rowcount As Integer
        rowcount = ws.Cells(Rows.Count, 1).End(xlUp).Row
        Dim r As Range
        Set r = ws.Cells(rowcount + 1, 1)
        r = Sh.Name
        GoTo TryAgain:
    End If
End Sub

* Чтобы попасть в редактор VBA, необходимо перейти к кнопке office, параметрам Excel и в популярном теге установить флажок рядом с Show Developer tab in the Ribbon . Затем закройте его, перейдите на вкладку разработчика и нажмите кнопку Visual Basic в крайнем левом углу. Откроется редактор, и вам нужно будет дважды щелкнуть модуль ThisWorkbook на левой панели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .