1

У меня есть серия рабочих листов с именем 1.. 50 Я хочу, чтобы значения 3D диапазона были '1:50'!A10 вставлен в диапазон на текущем листе RawData . Как мне это сделать?

1 ответ1

1

Вы можете использовать offset для достижения этой цели. В столбце A RawData вставьте список от 1 до 50. В столбце B вы можете использовать следующую формулу: =Offset(char(39) & $A1 & char(39) & "!A10") . Скопировав этот столбец B , вы получите результат в ячейке A10 каждого листа с 1 по 50.

Альтернативное решение VBA, если листы не последовательные:

Sub getA10()
    Dim sht As Worksheet
    Dim writeRow As Integer

    writeRow = 1

    'iterate through all the sheets in the workbook
    For Each sht In ThisWorkbook.Worksheets

        'Don't capture A10 of RawData
        If sht.Name <> "RawData" Then

            'Write in Column A the sheet name, and in column B the Value in A10
            Sheets("RawData").Cells(writeRow, 1).Value = sht.Name
            Sheets("RawData").Cells(writeRow, 2).Value = sht.Range("A10").Value

            'increment the row
            writeRow = writeRow + 1
        End If
    Next sht
End Sub

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