Ну, вы можете автоматизировать это немного дальше, чем в принятом ответе.
Давайте рассмотрим: если вы измените какое-либо имя рабочего листа, у вас возникнет та же проблема.
Таким образом, если вы введете формулу в ячейку B2
для получения имени листа, изменение имени листа также автоматически обновит содержимое ячейки, в отличие от данного ответа, где вам нужно будет снова и снова запускать код .
Итак, рассмотрите возможность использования такого кода (один раз на всю жизнь :)):
Sub Get_Sheets_Name()
Dim ws As Worksheet
'Loop all sheets in this workbook
For Each ws In ThisWorkbook.Worksheets
ws.Cells(2, 2).Formula = "=MID(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))+1,256)"
Next
End Sub