' [047.xls] ' [Module1] のコード '★★☆ ワークシートの挿入・削除を素早く行う ☆★★ Option Explicit Sub start() UserForm1.Show End Sub ' [UserForm1] のコード Option Explicit Dim flg As Boolean Private Sub SpinButton1_Change() 'フォーム起動時にスピンボタンの"Change"イベントを避ける為のフラグ If flg = False Then Exit Sub '画面表示の更新を禁止 Application.ScreenUpdating = False '現在のスピンボタンの値がワークシートの数より多ければ If SpinButton1.Value > Worksheets.Count Then '新シートを"シート解説"の後ろに名前を付けて挿入 Worksheets.Add.Move after:=Worksheets("Title") ActiveSheet.Name = Format(Worksheets.Count) Else '警告を出させない Application.DisplayAlerts = False Worksheets(2).Delete '警告やメッセージ等が表示されるように制御を解除 Application.DisplayAlerts = True End If Worksheets("Title").Activate Label1.Caption = SpinButton1.Value Application.ScreenUpdating = True End Sub Private Sub UserForm_Initialize() 'イベントマクロを実行させないためにフラグを立てる flg = False 'スピンボタンの初期化 With SpinButton1 .Max = 250 .Min = 1 .Value = Worksheets.Count Label1.Caption = .Value End With 'イベントマクロを許可する flg = True End Sub