Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33555 / 76734 ←次へ | 前へ→

【48395】条件にあったファイルを開き、処理後閉じるには
質問  tamachan  - 07/4/16(月) 11:49 -

引用なし
パスワード
   ブック(A)のマクロでから条件に合う別のフォルダ内にある
ブックを開くようにしました。開いたブック(仮にブック(B))のデータを
オートフィルターで抽出して、ブック(A)の指定セルに貼付けた後
ブック(B)を閉じてブック(A)の処理を継続させたいのですが、
ブック(B)は、ブック(A)の条件により開きますので、ファイル名が違います。
この場合、ブック(B)を閉じる処理はどのようにしたらよいでしょうか。

VBAで以下のように組んでますが、閉じ方がわかりませんので、教えてください。

ブック名 = ActiveWorkbook.Name        'ブック(A) です。
    Worksheets("メイン").Select
    Cells(4, 7) = ブック名 'ブック名を表示
    
    Range("G3:G4").Select       
    Selection.Copy
Application.Run "A06支払月報ファイル検索"  'ブック(B)を開きます。 
    Worksheets("メイン").Select
    Range("G3:G4").Select         
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False

   '-------- いくつかの処理を行って -------
Sheets("現場データ").Select
  Range("A1").PasteSpecial Paste:=xlValues
  下 = Range(Cells(1, 1), Cells(1, 1)).End(xlDown).Row
  右 = Range(Cells(1, 1), Cells(1, 1)).End(xlToRight).Column     Range(Cells(2, 1), Cells(下, 右)).Copy
  ActiveSheet.Paste
  Application.CutCopyMode = False
  Selection.Copy
  
  Dim awb As String
    awb = Worksheets("メイン").Cells(4, 7).Value
    Workbooks(awb).Activate        'ブック(A)をアクティブ
  ActiveWindow.WindowState = xlNormal
  Application.Run "A02月報入力シートオープン"
  Range("J15").PasteSpecial Paste:=xlValues  '貼付け

'-----この後、ブック(B) を閉じて、ブック(A)の処理を続けたいのですが?---


'参考 Application.Run "A06支払月報ファイル検索"の内容です。
Sub A06支払月報ファイル検索()
  
  Application.ScreenUpdating = False
  Sheets("メイン").Select
  
  If Range("C1") = 1 Then          
    ChDir "X:\_売上報告関連\支払月報"
    Workbooks.Open Filename:="X:\_売上報告関連\支払月報\09月支払月報.xls"
  ElseIf Range("C1") = 2 Then        
    ChDir "X:\_売上報告関連\支払月報"
    Workbooks.Open Filename:="X:\_売上報告関連\支払月報\10月支払月報.xls"
  ElseIf Range("C1") = 3 Then        
    ChDir "X:\_売上報告関連\支払月報"
    Workbooks.Open Filename:="X:\_売上報告関連\支払月報\11月支払月報.xls"
  ElseIf Range("C1") = 4 Then        
    ChDir "X:\_売上報告関連\支払月報"
    Workbooks.Open Filename:="X:\_売上報告関連\支払月報\12月支払月報.xls"
  ElseIf Range("C1") = 5 Then        
    ChDir "X:\_売上報告関連\支払月報"
    Workbooks.Open Filename:="X:\_売上報告関連\支払月報\01月支払月報.xls"
  ElseIf Range("C1") = 6 Then        
    ChDir "X:\_売上報告関連\支払月報"
    Workbooks.Open Filename:="X:\_売上報告関連\支払月報\02月支払月報.xls"
    Else                    
    
  End If
End Sub
4 hits

【48395】条件にあったファイルを開き、処理後閉じるには tamachan 07/4/16(月) 11:49 質問
【48398】Re:条件にあったファイルを開き、処理後閉... ウッシ 07/4/16(月) 12:17 発言
【48399】Re:条件にあったファイルを開き、処理後閉... Kein 07/4/16(月) 12:41 回答
【48411】Re:条件にあったファイルを開き、処理後閉... tamachan 07/4/16(月) 19:04 お礼

33555 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free