Excelでセル入力してEnterを押せば同時にシート名も変える方法は

このQ&Aのポイント
  • Excelでセルに入力し、Enterを押した時点でシート名を変更する方法を教えてください。
  • Excelのシート名を変更するには、コマンドボタンに以下の式を入力してください。C6に日付を入力し、Enterを押すとシート名が変更されます。
  • コマンドボタンのクリックイベントで、C6の値を取得し、それをシートの名前として設定する方法を教えてください。
回答を見る
  • ベストアンサー

Excelでセル入力してEnterを押せば同時にシート名も変える方法は

Excelでセル入力してEnterを押せば同時にシート名も変える方法は? Excelのシート名を下記のような式をコマンドボタンに入力して、C6に日付を入力後、コマンドボタンを押してシート名を変更しています。それを、C6セルに入力し、Enterを押した時点でシート名を変更するにはどういう式を入れれば良いのでしょうか? ご教授お願いいたします。 Private Sub CommandButton1_Click() ' ' Macro1 Macro ' マクロ記録日 : 2010/6/21 ユーザー名 : ○○○○ ' Range("C6").Select Application.CutCopyMode = False Selection.NumberFormatLocal = "yyyy""年""m""月""d""日"";@" Sheet1.Name = Range("C6").Text & "~" End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("C6")) Is Nothing Then Exit Sub Target.NumberFormatLocal = "yyyy""年""m""月""d""日"";@" Sheet1.Name = Target.Text & "~" End Sub

guchi_yama
質問者

お礼

うまい具合にできました。 お早い回答を頂き、本当に助かりました。 どうもありがとうございます。 今後とも宜しくお願いいたします。

関連するQ&A

  • EXCELマクロ セルに入力したシート名から参照

    よろしくお願いします。 複数のシートがあり、それぞれ 1109,1110,1111,1112,1201,1202,1203,1204,1205 と名前がついています。 それぞれのシートには月毎のデータが入っています。 Sub Macro1() Columns("F:J").Select Selection.ClearContents Sheets("1205").Columns("A:E").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("C4:E5"), CopyToRange:=Range("F2:J2"), Unique:=False End Sub ↑のマクロをSheet3で作りましたが、4行目の「Sheets("1205")」の1205の部分を可変で作れればと 思っています。Sheet3のC3セル内に入力したシート名(1109や1203等)でフィルタ出来ると助かります。 どうぞよろしくお願いします。

  • EXCELのシート名自動入力

    EXCELでシート名にセルA1の値を自動入力したいので、 下記のマクロを使いましたが、いちいちマクロを実行しないと自動入力できません。 Public Sub SheetName() ActiveSheet.Name = Range("A1").Value End Sub これを、マクロを実行しなくても、セルA1の値が変わった時点で 自動的にシート名も変わるようにできないでしょうか?

  • 記録したマクロを他のシートにも同時に実行する方法

    いつもお世話になります。 下記のように選んだセルのデータを削除するマクロを「マクロの記録」で作成しました。 Sub Macro2() ' ' Macro2 Macro ' ' Range("E5:R12").Select ActiveWindow.SmallScroll Down:=6 Range("E5:R12,E14:R22").Select Range("E14").Activate ActiveWindow.SmallScroll Down:=12 Range("E5:R12,E14:R22,E24:R28").Select Range("E24").Activate ActiveWindow.SmallScroll Down:=6 Range("E5:R12,E14:R22,E24:R28,E30:R34").Select Range("E30").Activate Selection.ClearContents End Sub 「Macro2」の実行ボタンを作り、シート名「1」~「31」の同じセルのデータをボタンをクリックして、一括で削除したいのですが、この記述をどのように変更したらよいのか、マクロを始めたばかりの初心者の私にご教授して頂けませんでしょうか? 「マクロの記録」で各シートを選び、セルを選んでdeleteして行く方法はありますが、今後のためにも記述の編集で出来る方法をお教え下さい。 よろしくお願いいたします。 当方、エクセル2010で作成していますが、エクセル2002の環境で使います。

  • エクセルでシート名をセル参照するマクロ

    いつもお世話になっております。 ワークシートをコピーする際、 B1セルの値を複製したシート名にするマクロを と思ってやってみましたが、 Sub Macro1() ' ' Macro1 Macro Sheets("0000").Select Application.CutCopyMode = False Sheets("0000").Copy Before:=Sheets(3) Range("B1").Select Selection.Copy Sheets("0000 (2)").Select Sheets("0000 (2)").Name = "0524" Range("B1").Select End Sub 5行目でB1セルをコピーしましたが、 シート名として命名されたのは、 "0524"という固定の値でした。 (そのときのB1セルの値です) このB1セルは日付データなのですが、 マクロを実行する日によって、 翌日だったり、3日後だったりします。 (営業日ベースなので) どのようにしたら、B1セルの値を シート名に使用できるでしょうか よろしくお願いいたします。

  • セル入力しているデータをシート名に一括変換する方法

    エクセルにてセル入力しているデータをシート名にするためにネットで検索をかけ以下のマクロが掲載されていました。 Sub SheetName()   ActiveSheet.Name = ActiveSheet.Range("B2") End Sub このマクロを全シート一括で行いたいのですが、どのようにすればよいのでしょうか? お教え願います。

  • VBA入力なしのエンターでのセル移動

    VBA初心者です。 エクセル2010使用してるのですが チェンジイベントで入力時エンターで以下のように動きますが 入力なしのエンターでC5セルに移動させるには どのような方法があるのでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case "$H$5" Range("C8").Select End Select End Sub よろしくお願いいたします。

  • エクセルのマクロで番号を入力する

    エクセルのマクロに取り組んでいます。 まだ初心者なのでわからないことが多いです。 エクセルのバージョンは2010です。 「入力シート」にボタンを作って、ボタンを押すと「1」と入力できる。 ほかの項目を入力し、保存し、「1」を消して、またボタンを押すと 「2」と入力になる。 このように、ボタンを押すと「1」「2」「3」…と入力できるようにしたいのですが、 どのようにマクロを組んだらよいでしょうか? また、自分で以下のように組んで見たところ、「1048576」となってしまい、「1」になりませんでした。 どこを直せばいいのでしょうか? Sub Macro4() ' ' Macro4 Macro ' 受付番号確認&入力 ' Worksheets("入力").Activate '入力シートをアクティブ MsgBox "次の受付番号→ " & Worksheets("データ").Range("A2").End(xlDown).Row Range("B2") = Worksheets("データ").Range("A2").End(xlDown).Row End Sub ご回答よろしくお願いします。

  • エクセルVBAを利用してワークシート名を変更するには

    エクセルVBAを利用してワークシート名を変更するには Sub ~~() Worksheets("sheet1").Name = "新しい名前" End Sub と文献にはあるのですが ワークシート上の名前変更のための コマンドボタンをクリックしたら ある場所のセルの値が名前になるように設定したいのですが どのようにすればいいのでしょうか?? いちおうわからないなりに予想したのは Sub シートの名前変更() ActiveSheets.Name = Range("Z3").Value End Sub これでZ3の値を名前に設定できるのではと思ったのですが うまくいきませんでした

  • エクセルでシート名をセルに複写(リンク)する方法

    いつも参考にさせていただいております。 さて、エクセルのワークシート名を取得して 特定のセル(例えばA2等)に入力する方法を調べております。 ボタンを作っておいて押したら記入される方法ではなく、 ワークシートの名前を変更したと同時に セルも変更される方法はないでしょうか?

  • 自動で複数セルの内容をシート名にする

    今エクセル2013で、B5セルに「8」を入力して、C5セルには「月実績」と入力してあります。 B5セルはシートをコピーして月ごとに変更していきます。C5セルのほうも例えば「月生産数」等に変更して使用します。(つまり、B5もC5も両方内容を変更していきます。) このB5とC5のセルの内容をシート名に自動で変更したいのですが、どうすればよいでしょうか? たとえば上記の例だと、シート名が「8月生産数」になってくれればよい。 今とりあえずWorksheetに下記コードを記述していますが、これだとシート名が「8$C$5」となってしまい、C5を文字で認識してしまい、セルの内容がシート名になりませんでした。 どうすればよいでしょうか? また、記述場所は使っているシートのWorksheetにかきこめばよいでしょうか?(シート名を右クリックしてコードの表示ででてくる所に記述しています) VBAの事、あまり分からないままやっていますが、お願いいたします。 Private Sub Worksheet_Change(ByVal Target As Excel.Range) On Error GoTo ERR: If Target.Cells(1, 1).Address = "$B$5" Then Me.Name = Target.Cells(1, 1) & "$C$5" End If Target.Cells(1, 1).Select Exit Sub ERR: MsgBox "その名前には変更出来ません。", vbCritical + vbOKOnly, "ERROR" Resume Next End Sub

専門家に質問してみよう