| 
    
     |  | こんにちは。かみちゃん です。 
 >開いたファイルから内容をコピーし、別のワークブックにペーストした後
 >開いたファイルを閉じたいのですが、エラーが出てしまいます。
 
 とりあえず、以下のような感じでできると思います。
 ★印の行を追加修正しています。
 
 Sub test()
 fileToOpen = Application.GetOpenFilename("CSV形式 (*.csv), *.csv")
 If fileToOpen <> False Then
 MsgBox "選択されたファイル : " & fileToOpen
 Workbooks.Open Filename:=fileToOpen
 OpenWorkbookName = ActiveWorkbook.Name '★
 Columns("B:B").Select
 Selection.Copy
 Workbooks("Book1").Activate '★
 Range("C1").Select
 ActiveSheet.Paste
 Application.CutCopyMode = False '★
 Workbooks(OpenWorkbookName).Activate '★ 変数fileToOpenにはフルパスが格納されている
 ActiveWindow.Close
 End If
 End Sub
 
 ただ、Book1は、常に開いている状態なのでしょうか?
 CSVファイルを開いたら、新規ブックの追加をして、そのブックに貼り付けて
 終わったら、CSVファイルは閉じるという方法にしてはいかがでしょうか?
 そのためには、以下のような感じになります。
 
 Sub test0()
 Dim fileToOpen As String
 Dim wb1 As Workbook, wb2 As Workbook
 Dim ws As Worksheet
 
 fileToOpen = Application.GetOpenFilename("CSV形式 (*.csv), *.csv")
 If fileToOpen <> "False" Then
 MsgBox "選択されたファイル : " & fileToOpen
 
 Set wb1 = Workbooks.Open(fileToOpen)
 Set ws = ActiveSheet
 Set wb2 = Workbooks.Add
 
 ws.Columns("B:B").Copy Range("C1")
 wb1.Close
 
 Set wb1 = Nothing
 Set ws = Nothing
 Set wb2 = Nothing
 
 End If
 End Sub
 
 
 |  |