| 
    
     |  | ichinoseさん返信有難うございます。 アドバイスに従って、環境と詳細コードを記述させてもらいます。
 <環境>
 Windows2000,Excel2000
 <コード>
 Public Sub Excel_macro()
 Dim obExcel As Object    'Excelオブジェクト
 Dim lBookNumber As Long   'ブック数カウント
 Dim wkbbuff As Workbook   'バッファ
 
 10
 'ブック数カウントを初期化する
 lBookNumber = 0
 'ワークブック数分ループする
 For Each wkbbuff In Workbooks
 '他のブックの名前が取得できる場合(他のブックがオープンできる場合)
 If Application.Windows(wkbbuff.Name).Visible = True Then '★
 'ブック数カウンタをインクリメントする
 lBookNumber = lBookNumber + 1
 End If
 Next wkbbuff
 20
 '他のブックが既に開かれている場合
 If lBookNumber > 1 Then
 '警告メッセージオフにする
 Application.DisplayAlerts = False
 'アプリケーションをクローズする
 ActiveWorkbook.Close
 End If
 
 'ワークブックを作成する
 Set wkbWorkBook = Workbooks.Add
 wkbWorkBook.Windows(1).Caption = "テスト"
 wkbWorkBook.Worksheets(Sheet1.Name).Activate
 
 Exit Sub
 End Sub
 
 一度このマクロを実行後、"テスト"ブックが作成された後、マクロ搭載ブックと"テスト"
 ブックがある状態で再びマクロを起動すると★印のところで"インデックスが有効範囲
 にありません"のエラーが発生します。
 よろしくお願いします。
 
 
 |  |