| 
    
     |  | ユーザーフォームに COMBOBOX1と2を設置し
 起動時にComboBox1に現在開いているファイルの一覧を取得し
 Combobox1が選択された際に
 選択されたファイルの存在するシートの一覧を取得するMacroを用意しました。
 
 通常起動には問題が無かったのですが
 UserFromを起動した後に
 このMacroが記載されている以外のファイルを消し
 その消したファイルを選択した際に当然エラーになりました
 
 この場合に
 対処しようと思い
 下記のようにしたところ
 エラーメッセージが2回出て
 ボックス内に一覧が2重に取得されてしまいました
 
 回避策をご教授願えませんでしょうか
 
 Private Sub UserForm_Initialize()
 Dim Wb As Workbook
 Dim CMB1 As String
 ComboBox1.Clear
 For Each Wb In Workbooks
 ComboBox1.AddItem Wb.Name
 Next
 End Sub
 Private Sub ComboBox1_Change()
 On Error GoTo エラー
 Dim Ws As Worksheet
 CMB1 = ComboBox1
 Me.ComboBox2.Clear
 For Each Ws In Workbooks(Me.ComboBox1.Value).Worksheets
 Me.ComboBox2.AddItem Ws.Name
 Next
 Workbooks(CMB1).Activate
 Exit Sub
 エラー:
 MsgBox CMB1 & "が見つから無い為ファイル一覧を更新します"
 Me.ComboBox2.Clear
 For Each Ws In Workbooks(Me.ComboBox1.Value).Worksheets
 Me.ComboBox2.AddItem Ws.Name
 Next
 End Sub
 
 |  |