У меня есть серия рабочих листов с именем 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