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