Я не очень хорошо разбираюсь в формулах, но с VBA это вполне возможно.
Изучите циклы For Each..Next
, которые, я думаю, вам следует использовать для просмотра всех листов.
Далее свойство .Name
извлечет для вас имя листа.Вы можете сохранить его в переменной и заполнить ячейку с помощью.
Получение значений из одной ячейки в другую так же просто, как
.Sheets(1).Range("A1:B1").Value = .Sheets(2).Range("A1:B1").Value
Обратите внимание, что SO не является бесплатной службой написания кода,так что я не буду так далеко, как писать всю процедуру для вас.Если у вас есть какой-то код, но вы столкнулись с проблемами, возвращайтесь к нам.
Полезные ссылки:
циклический просмотр листов
Копирование значений ячеек
Объекты рабочей книги и листа