
Genel formül
=GET.WORKBOOK(1)&T(NOW())
Özet
Bir Excel çalışma kitabındaki çalışma sayfalarını listelemek için 2 adımlı bir yaklaşım kullanabilirsiniz: (1) eski bir makro komutuyla "sayfa adları" adlı adlandırılmış bir aralık tanımlayın ve (2) adlandırılmış aralığı kullanarak sayfa adlarını almak için INDEX işlevini kullanın. Gösterilen örnekte, B5'teki formül şöyledir:
=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))
Not: Bu formüle MrExcel mesaj panosunda T. Valko'nun yazdığı bir yazıda rastladım.
Açıklama
"Sayfa adları" adlandırılmış aralığı şu kodla oluşturulur:
=GET.WORKBOOK(1)&T(NOW())
GET.WORKBOOK, geçerli çalışma kitabındaki bir dizi sayfa adı alan bir makro komutudur. Ortaya çıkan dizi şuna benzer:
("(workbook.xlsm)Sheet1","(workbook.xlsm)Sheet2","(workbook.xlsm)Sheet3","(workbook.xlsm)Sheet4","(workbook.xlsm)Sheet5")
Sonuca şifreli bir ifade birleştirilir:
&T(NOW())
Bu kodun amacı, sayfa adlarındaki değişiklikleri almak için yeniden hesaplamayı zorlamaktır. ŞİMDİ geçici bir işlev olduğundan, her çalışma sayfası değişikliğinde yeniden hesaplar. NOW işlevi, tarih ve saati temsil eden sayısal bir değer döndürür. T işlevi, sayısal değerler için boş bir dize ("") döndürür, bu nedenle birleştirmenin değerler üzerinde etkisi yoktur.
Çalışma sayfasına geri dönersek, B6 hücresi kopyalanmış şu formülü içerir:
=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))
İçten dışa doğru çalışarak, MID işlevi çalışma sayfası adlarını kaldırmak için kullanılır. Ortaya çıkan dizi şuna benzer:
("Sheet1","Sheet2","Sheet3","Sheet4","Sheet5")
Bu, INDEX işlevine "dizi" olarak gider. SATIR işlevi, artan bir satır numarası oluşturmak için genişleyen bir aralık kullanır. Her yeni satırda, INDEX sonraki dizi değerini döndürür. Çıktısı alınacak başka sayfa adı olmadığında, formül bir # BAŞV hatası döndürür.
Not: Bu formül bir makro komutuna dayandığından, formülün dosya kapatılıp yeniden açıldıktan sonra sayfa adlarını güncellemeye devam etmesini istiyorsanız makro özellikli bir çalışma kitabı olarak kaydetmeniz gerekir. Normal bir çalışma sayfası olarak kaydederseniz, sayfa adı kodu çıkarılır.