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

エクセルで、D2に入力した文字をそのシート名にする事は可能なものでしょうか
いくつか調べて、試したりしたのですが、どうもうまくいかず。。。

お分かりの方いらっしゃいましたらご伝授願えませんでしょうか
宜しくお願い致します

A 回答 (1件)

こんばんは!



質問を読む限りでは、すべてのSheetでそうしたいのか?
それともあるSheetのD2セルの値が変わったときにそのSheet名をD2セルの値にしたいのか?
が判断しかねますが・・・

いずれにしてもVBAでの一例です。

(1)すべてのSheetの場合
Alt+F11キー → 左下の「This Workbook」をダブルクリック → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sheet名() 'この行から
Dim k As Long
For k = 1 To Worksheets.Count
If Worksheets(k).Range("D2") <> "" Then
Worksheets(k).Name = Worksheets(k).Range("D2")
End If
Next k
End Sub 'この行まで

(2)そのSheet限定の場合
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストし、D2セルのデータを色々変更してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("D2")) Is Nothing Or Selection.Count <> 1 Then Exit Sub
If Target <> "" Then
ActiveSheet.Name = Target
Else
Exit Sub
End If
End Sub 'この行まで

※ 外していたらごめんなさいね。m(_ _)m
    • good
    • 0

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