|
>ブック(B)を閉じる
いくつかの方法が考えられますが、ブック(B)を開いた時点で、Workbook型の
グローバル変数に格納しておき、それを使って閉じる。というのが分かりやすい
と思います。モジュールの先頭に
Private MyBook As Workbook
と宣言し、Sub A06支払月報ファイル検索() で
End If
Set MyBook = ActiveWorkbook '←このコードを追加する
End Sub
>ブック(B) を閉じて
の部分は
If Not MyBook Is Nothing Then
MyBook.Close False
Set MyBook = Nothing
End If
などとします。でももっと簡単な方法は、プロシージャを分割しないで
一つにまとめてしまうことでしょうね。そうすれば MyBook も宣言せずに
ActiveWorkbook.Close False とするだけで済みそうですし、いくらか処理も速く
なります。ちなみに Sub A06支払月報ファイル検索() のコードの書き方は
Sub A06支払月報ファイル検索()
Dim MyNum As Integer
Dim MyF As String
Const Fol As String = "X:\_売上報告関連\支払月報\"
On Error GoTo ELine
MyNum = Worksheets("メイン").Range("C1").Value
If MyNum > 0 And MyNum < 7 Then
MyF = Format(MyNum + 8, "00") & "月支払月報.xls"
Workbooks.Open Fol & MyF
Set MyBook = ActiveWorkbook
End If
ELine:
End Sub
などとすれば、うまくまとまると思います。
|
|