Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13200 / 13646 ツリー ←次へ | 前へ→

【6570】シート名の変更について Salem 03/7/10(木) 19:50 質問
【6572】Re:シート名の変更について パピー(PAPIー) 03/7/11(金) 8:33 回答
【6573】Re:シート名の変更について Salem 03/7/11(金) 9:21 お礼

【6570】シート名の変更について
質問  Salem E-MAIL  - 03/7/10(木) 19:50 -

引用なし
パスワード
   こんばんわ。

シート名で質問があります。

現在 下記のシート名があるとします。
例)200301 , 200302

それから、テキストボックス コマンドボタンがあります。
テキストボックスに【200303】と入力し、コマンドボタンを押下すると
新しいシートが作られ、その新しく作られたシート名が、
テキストボックスに入力された【200303】となります。

しかし、【200301】や【200302】を入力しコマンドボタンを押下すると
当然、「同じ名前のシート名があります」・・・みたいなエラーが出力されます。

もし、同じシート名が存在していた場合、
「同じシート名があります。【200301_1】にシート名を変更します。」
とメッセージを出力し、追加されたシート名を【200301_1】に
するには、どうしたら良いでしょうか?

よろしくお願い致します。

【6572】Re:シート名の変更について
回答  パピー(PAPIー)  - 03/7/11(金) 8:33 -

引用なし
パスワード
   こんにちは。

この様な事でしょうか?
サンプルを作ってみました。
試して見て下さい。
外していたらごめんなさい。

Private Sub CommandButton1_Click()
  On Error GoTo ErrHandler
  
  Worksheets.Add.Move after:=Worksheets(Worksheets.Count) '最後のシートの後へ追加
  Worksheets(Worksheets.Count).Name = TextBox1.Text    '名前の変更
  Exit Sub
ErrHandler:   '同一名のシートが存在した場合の処置
  TextBox1.Text = TextBox1.Text + "_1"
  Resume
End Sub

【6573】Re:シート名の変更について
お礼  Salem  - 03/7/11(金) 9:21 -

引用なし
パスワード
   パピー(PAPIー) さん へ

おはようございます。
朝早くから、ありがとうございます。

教えてくださったロジックで解決致しました。

ありがとうございました!!

13200 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free