Страницы: 1
RSS
Сбор значений одной и той же ячейки с другой книги
 
Всем привет!
Есть книга, 100 листов с однотипной структурой. Стоит задача в другой книге вывести значения одной и той же ячейки (к примеру А1) со всех листов. ДВССЫЛ с закрытыми книгами не работает, нужен аналог, который бы эту проблему решал
Изменено: vikttur - 23.06.2021 17:25:22
 
Код
Sub Main()
    Dim arr As Variant
    arr = GetArr("C:\tmp\1.xlsx")
    Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub

Function GetArr(sFile As String) As Variant
    Dim wb As Workbook
    Dim arr As Variant
    On Error Resume Next
        Set wb = Workbooks.Open(sFile, False, True)
    On Error GoTo 0
    If wb Is Nothing Then
        ReDim arr(1 To 1, 1 To 2)
        arr(1, 1) = "Нет файла"
        arr(1, 2) = sFile
    Else
        ReDim arr(1 To wb.Sheets.Count, 1 To 2)
        Dim y As Long
        Dim sh As Worksheet
        For Each sh In wb.Sheets
            y = y + 1
            arr(y, 1) = sh.Name
            arr(y, 2) = sh.Range("A1").Value
        Next
        
        wb.Close False
    End If
    
    GetArr = arr
End Function
 
Цитата
Михаил:  Сбор значений
=ОБЪЕДИНИТЬ(", ";1;'D:\Папка\[Книга.xlsm]название первого листа:название последнего листа'!A1:A9)
а если только из одной ячейки, например:
=ОБЪЕДИНИТЬ(", ";1;'D:\Папка\[Книга.xlsm]название первого листа:название последнего листа'!S7)
Изменено: Бахтиёр - 23.06.2021 20:15:48
 
Спасибо, вопрос решен. Собрал все значения на отдельном листе Книги 1 при помощи ДВССЫЛ и сделал связь этих значений с листом Книги 2.
Страницы: 1
Наверх