- ベストアンサー
【Excel】 シート名に関する式を教えてください。
こんにちは 現在のsheet名は「あ-1」です。 (分類(あ)とその枝番の組合せ) A列に、 A あ-1 あ-2 あ-3 あ-4 い-1 い-2 う-1 う-2 う-3 ・ ・ ・ と、このブックのsheet名が列挙されています。 B1に、現sheet名を表示させる式と C1に、現sheetの分類(あ)の総sheet数を表示させる式を 教えてください。 Excel2003 です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、>「現sheet名を表示させる式」 =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) >現sheetの分類(あ)の総sheet数を表示させる式 はvbaを使うことになるでしょう。 ワークブックの中のシート名(.NAME)の全てについて(FOR EACH)(あ)があるか判別してカウントすればよい.
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
#1です。#1の補足に関して 1つの開いているブックのシート名をSheet1のA列に出す。 Sub test01() Dim sh As Worksheet i = 2 For Each sh In Worksheets MsgBox sh.Name Worksheets("Sheet1").Cells(i, "A") = sh.Name i = i + 1 Next End Sub ですが、シート名は、質問ではA列に判って入力されているのでしたね 。すみません。 カウントは Sub test02() Dim sh As Worksheet i = 2 j = 0 For Each sh In Worksheets MsgBox sh.Name Worksheets("Sheet1").Cells(i, "A") = sh.Name If Mid(sh.Name, 1, 3) = "(あ)" Then j = j + 1 i = i + 1 Next MsgBox j End Sub
- odessa7
- ベストアンサー率52% (101/192)
同じ分類のシート数は、下記の関数で表示できると思います。 C1セルに {=SUM(IF(LEFT($A$1:$A$10,1)=LEFT(B1,1),1))} Ctrl+Shift+Enterで確定してください。 ちなみに範囲は、必要なだけ広げてください。
お礼
お返事有難うございます。 「現sheet名を表示させる式」は上手く行きました。 有難うございました。 VBAのスキルは殆どありません。 VBAのコードはどのようになるでしょう。