|
ユーザーフォームに
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
|
|