プロが教えるわが家の防犯対策術!

EXCELのワークシートの名前の変更(例えば「19877」)を入力すると、
同じシート内のあるセル(例えば「B4」)に同じ名前(「19877」)がコピーされる。
入力作業が2回かかるのを1回ですませたい。
あるいは、逆の場合、
シート内のあるセルB4に19877を入力すると、シートの名前が19877になる。

よい方法があれば教えてください。

A 回答 (4件)

B1セルに次の式を入力することでシート名を表示することができます。



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

ただし、一旦ブックを保存した後でなければ表示されません。

なお、B1セルにシート名を入力した後でシート名をそのシート名に変更することはマクロを使わない限りできません。
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。こんなに複雑な関数になるとは思いませんでした。実施してみても使えました。素早い回答で敬服します。ありがとうございました。

お礼日時:2011/04/09 19:56

No.2です!


逆の場合の回答をしていませんでした。

Sheet名をB4セルに表示させるコードです。

Sub test2()
ActiveSheet.Range("B4") = ActiveSheet.Name
End Sub

こんな感じではどうでしょうか?
何度もごめんなさいね。m(__)m
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。マクロ実行してみますと、エラー表示が出てしまいました。ANO4で逆の場合の回答もいただきました。このANO4のマクロを入力して実行すると、シート名の入力でセルにコピーができました。これはこれで使えます。

お礼日時:2011/04/09 19:57

一例です。


>同じシート内のあるセル(例えば「B4」)に同じ名前(「19877」)がコピーされる。
 B4に=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)

>シート内のあるセルB4に19877を入力すると、シートの名前が19877
 ⇒これはVBAでないとできない
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。早速実行してみましたら、うまくいきました。ANo1のKURUMITOさんの関数も使えましたので、両方をつかわさせてもらいます。ベストアンサーにしたいのですが、早い方にさせていただきました。ありがとうございました。

お礼日時:2011/04/09 20:06

こんにちは!



VBAになってしまいますが・・・

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面がでますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
尚、B4セルの値をSheet名にするようにしています。

Sub test()
ActiveSheet.Name = Range("B4") '←セル番地の「B4」は適宜変更してください。
End Sub

上記の3行だけでOKです。

他に良い方法があればごめんなさいね。m(__)m
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。マクロ実行してみますと、エラー表示が出てしまいました。ANO4で逆の場合の回答もいただきました。このANO4のマクロを入力して実行すると、シート名の入力でセルにコピーができました。これはこれで使えます。

お礼日時:2011/04/09 19:40

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