- ベストアンサー
コンボボックスで名前を指定後、新規シート名に使用する方法
お世話になります。 UserFormでコンボボックスを作成しました。 そこでリストを選択した後、 新規シートを作成するマクロまではできたのですが、 その新規シートにリストで選択した名前を入力させるには、 どのようなマクロを組めばよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じ? Private Sub CommandButton1_Click() Dim ws As Worksheet If Me.ComboBox1.Value = "" Then Exit Sub For Each ws In Worksheets If ws.Name = Me.ComboBox1.Value Then MsgBox Me.ComboBox1.Value & "は既に存在します", _ vbExclamation + vbOKOnly, "注意" Exit Sub End If Next ws On Error Resume Next Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count)) ws.Name = Me.ComboBox1.Value End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
標準モジュールに Sub test01() Worksheets("sheet2").ComboBox1.AddItem "aaa" Worksheets("sheet2").ComboBox1.AddItem "bbb" Worksheets("sheet2").ComboBox1.AddItem "ccc" Worksheets("sheet2").ComboBox1.AddItem "ddd" End Sub をつくり実行してください。1度だけ。2度実行すると同じものが 累積されるので。 Sheet2にComboBoxが貼り付けてあるとします。 実際はWith End Withを使ってください。 -------- 次にSheet2のシートモジュールに Private Sub ComboBox1_Change() MsgBox ComboBox1.Text Worksheets.Add.Name = ComboBox1.Text Worksheets("sheet2").Select End Sub を作ってください。 そしてコンボボックスをクリックしてアイテムを選択してみてください。そのシート名のシートができます。 シート名が同じものを指定されるとエラーになるので、その手当てが 必要ですが、略してます。必要あらば、別途入れてください。
お礼
個人的な理由で回答が大変遅くなり、申し訳ありませんでした。 No.1の方の方法と合わせ、自分の作りたかったものが出来ました。 また、エラーの対処もなんとか出来ました。お心づかい、誠にありがとうございます。
お礼
個人的な都合で回答が大変遅くなり、申し訳ありませんでした。 上記の方法を参考に、自分の作りたかったものが出来ました。 本当にありがとうございます。