• ベストアンサー

テキストボックスに入力した文字をシート名にする方法

テキストボックスを二段作成し、 一段目には そこに入力した文字をシート名として新規作成しシートの一番右端に配置し、 二段目には一段目に作成したシート内のD2のセル内に文字を入力できるようにしたいです。 また、シート名(A-103 A-3 A-1 A-2)が複数になった際には アルファベットプラス数字順(A-1 A-2 A-3 A-103)に並べ替えもできたら嬉しいです

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

○一段目のテキストボックス 準備: 新規シート名を記入するテキストボックス1(TextBox1)と,実際のシート作成等を指示するボタン(CommandButton1)を用意する コマンドボタンに private sub CommandButton1_Click()  dim s as worksheet  on error goto errhandle  set s = worksheets(me.textbox1.value)  msgbox s.name &"というシートは既にあります"  exit sub errhandle:  worksheet.add after:=worksheets(worksheets.count)  activesheet.name = me.textbox1.value end sub などのように作成する ●二段目 >二段目には一段目に作成したシート内のD2のセル内に文字を入力できるようにしたいです。 シートを作成した時点でD2セルは当然まだ空っぽですから,イミがありません。 ●並べ替え >シート名(A-103 A-3 A-1 A-2)が複数になった際には 「何が」複数になったらというハナシなのかイマイチ状況説明が不足なので,とりあえずシートの追加は上述のようにして一枚ずつ行います。 結果してシート名の並びがてれんこになったときは,前回回答のマクロで(必要な箇所を拾って別途作成したマクロで)並べ替えます。 もしも「テキストボックスに複数の言葉を羅列したときは,テレパシーで意図をくみ取ってシートを作成して欲しい」という企図だったときは,上述マクロをベースにもうちょっとだけ工夫を考えてください。

ryuujinn11
質問者

お礼

ありがとうございました 大変助かりました

関連するQ&A