| 
            
  サンプルファイル 
 
 
 
 
 
 
 Private Sub CommandButton1_Click()
 
 
 
 
 If ListBox1.ListIndex >= 0 Then
 
 msg = MsgBox("選択シートの名前を変更します。", vbYesNo)
 
 If msg = vbYes Then
 
 Call chngSheetName
 
 End If
 
 Else
 
 MsgBox "シート名を選択して下さい。"
 
 
 End If
 
 
 
 End Sub
 
 
 
 
 Private Sub ListBox1_Click()
 
 
 On Error Resume Next    '選択したシート名へ移動
 
 Worksheets(ListBox1.Text).Select
 Cells(1, "A").Select
 
 
 
 
 End Sub
 
 Private Sub UserForm_Initialize()
 
 
 Call uFInit
 
 
 End Sub
 Sub uFInit()
 
 
 
 On Error Resume Next
 
 ListBox1.Clear
 
 For i = 1 To Worksheets.Count               'シートの数だけ繰り返す
 ListBox1.AddItem Worksheets(i).Name      '取得したシート名をリストボックスへ
 Next
 
 
 ListBox1.ListIndex = 0
 
 
 End Sub
 
 
 Private Sub chngSheetName()
 
 
 
 On Error GoTo line
 
 'シート名変更
 
 
 
 
 
 If Trim(TextBox1.Text) <> "" Then
 
 crrntIndex = ListBox1.ListIndex '選択中のインデックスを取得
 
 
 Worksheets(ListBox1.Text).Name = TextBox1.Text  'シート名変更
 
 Call uFInit
 
 TextBox1.Text = ""
 
 
 ListBox1.ListIndex = crrntIndex 'インデックスを移動する
 
 Else
 
 MsgBox "シート名を入力して下さい。"
 
 End If
 
 
 
 
 
 
 Exit Sub
 
 line:
 
 MsgBox "同じシート名がすでに存在します。シート名を変更してください。"
 
 
 
 
 
 End Sub
 
 
 
 
 
 |