Я пытался обернуть голову, используя циклы и массивы, и собрал приведенный ниже пример, в котором имена рабочих листов берутся из таблицы на рабочем листе и сохраняют их в массиве, из которого запускается другой цикл для добавления значения в ячейку. A1 в этих именованных электронных таблицах на основе значения в ячейке D1, найденного в активном листе.
Я получаю сообщение об ошибке времени выполнения, но не могу определить, какое значение ищет код, который продолжает срабатывать.
Ошибка, кажется, находится в этой строке:
Sheets (myArray (x)). Диапазон ("A1"). Значение = EntryValue
Любая помощь в том, что я не сделал правильно, очень ценится.
Спасибо.
Вот код:
Sub WorksheetListLoop()
Dim myArray() As Variant
Dim EntryValue As String
Dim ListRange As Range
Dim cell As Range
Dim x As Long
'Set the values to go into range
Set ListRange = ActiveSheet.ListObjects("tblArrayList").DataBodyRange
'Resize array prior to loading data
ReDim myArray(ListRange.Cells.Count)
'Loop through each cell in range and store sheetname in array
For Each cell In ListRange.Cells
myArray(x) = cell.Value
x = x + 1
Next cell
'Use the value in this cell to put into the sheets in the array
EntryValue = ActiveSheet.Range("D1").Value
'Loop through list and add value to cell
For x = LBound(myArray) To UBound(myArray)
Sheets(myArray(x)).Range("A1").Value = EntryValue
Next x
End Sub