Не вдаваясь в моменты использования Select и ActiveSheet - приведенная процедура выводит имена всех рабочих листов, как и предполагается. Но выводит их в одну и ту же ячейку, поэтому и остается в результате только имя последнего листа.
Что Вы хотите получить? Имена книг в разных ячейках или в одной? Как раз не хватает примера того, что необходимо получить.
Судя по замене Cells(i,2) на Cells(9,2) (видимо у Вас в вопросе "на" пропущено) - в одной ячейке. Тогда:
Код |
---|
Sub List()
Sheets("Task 3 (VBA)").Select
Range("Table1[Names of tabs in this file]").Select
Dim i As Integer
For i = 1 To ActiveWorkbook.Worksheets.Count
If i>1 Then ActiveSheet.Cells(9, 2).Value = ActiveSheet.Cells(9, 2).Value & vbCr 'Добавляем символ переноса строк
ActiveSheet.Cells(9, 2).Value = ActiveSheet.Cells(9, 2).Value & ActiveWorkbook.Worksheets(i).Name
Next i
End Sub
|
Если это так, то название темы надо поправить. "Список имен рабочих листов книги в одной ячейке с помощью макроса"