dポイントプレゼントキャンペーン実施中!

「1」~「30」のシート名をつけた30枚にシートがあります。
そのすべてのシートのセルA1に1~30の数字を入力したいのです。
一枚一枚開いて入力する以外の方法はないでしょうか。
よろしくお願いします。

A 回答 (4件)

A1に以下の関数式を入力してください。


=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)

これは、シート名を取り出す関数式です。
    • good
    • 0
この回答へのお礼

思ってたことがすんなりできて,驚きです。
ありがとうございました。

お礼日時:2010/04/04 21:40

仮にシート名がSheet1からSheet30まであるとします。


そこで初めにSheet1をアクティブ状態にしてからシート見出しでShiftキーを押しながらSheet30をクリックします。それによってSheet1からSheet30が同じ作業グループになります。
その後にSheet1のA1セルに次の式を入力します。

=SUBSTITUTE(TRIM(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,10)),"Sheet","")*1

最後にシー見出しで右クリックして「作業グループ解除」を選択します。
これで各シートのA1セルには1から30までの番号が表示されます。
    • good
    • 0
この回答へのお礼

シートの名前にかかわらず,連番が打てるのですね。
すごいです。ありがとうございました。

お礼日時:2010/04/04 21:44

シートの状況がよく分からないのですが


一番最初のシートが1、一番最後のシートまでという前提でマクロにしてみました。
30以上になってもいいように以下のマクロは1番目から最後のシートまで実行されます。

Sub Macro1()
For INP = 1 To Sheets.Count
Sheets(INP).Range("A1") = Sheets(INP).Name
Next INP
End Sub
セルA1にはシート名が入力されます。
    • good
    • 0
この回答へのお礼

マクロと言うやり方もあるのですね。
やってみます。ありがとうございました。

お礼日時:2010/04/04 21:43

シート名を拾う関数があります。



詳細は長くなるので以下で検索してください。
キーワード「excel シート名取得 関数」でgoogle検索したら
たぶんトップにくる「ワークシート名をセルに表示-CELL関数・FIND関数・LEN関数・RIGHT関数 ...」を参照するとわかりやすいですよ。

一括で全シートに設定を行うには

1)シート名を右クリックして「すべてのシートを選択(表現違うかも?)」をクリック。
2)今、見えてるシートのセルA1に式設定。
3)シート名を右クリックして「シートの選択を解除(表現違うかも?)」をクリック。
4)Ctrl+PageUp、Ctrl+PageDownでシート切り替えして結果を確認。
    • good
    • 0
この回答へのお礼

とても参考になるページを紹介してくださり,ありがとうございました。

お礼日時:2010/04/04 21:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!