Excel VBA質問箱 IV

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

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


49951 / 76732 ←次へ | 前へ→

【31678】Re:VBでファイルを開くときに...
回答  かみちゃん  - 05/11/28(月) 11:12 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>開いたファイルから内容をコピーし、別のワークブックにペーストした後
>開いたファイルを閉じたいのですが、エラーが出てしまいます。

とりあえず、以下のような感じでできると思います。
★印の行を追加修正しています。

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

4 hits

【31642】VBでファイルを開くときに... kon 05/11/27(日) 18:33 質問
【31644】Re:VBでファイルを開くときに... かみちゃん 05/11/27(日) 18:53 発言
【31648】Re:VBでファイルを開くときに... kon 05/11/27(日) 19:07 質問
【31651】Re:VBでファイルを開くときに... かみちゃん 05/11/27(日) 19:17 発言
【31655】Re:VBでファイルを開くときに... kon 05/11/27(日) 19:55 発言
【31657】Re:VBでファイルを開くときに... かみちゃん 05/11/27(日) 20:12 発言
【31658】Re:VBでファイルを開くときに... kon 05/11/27(日) 20:40 発言
【31659】Re:VBでファイルを開くときに... かみちゃん 05/11/27(日) 20:50 回答
【31660】Re:VBでファイルを開くときに... kon 05/11/27(日) 21:41 お礼
【31668】Re:VBでファイルを開くときに... OYAJI 05/11/27(日) 23:46 質問
【31669】Re:VBでファイルを開くときに... かみちゃん 05/11/28(月) 6:43 回答
【31670】Re:VBでファイルを開くときに... つつ 05/11/28(月) 8:05 質問
【31678】Re:VBでファイルを開くときに... かみちゃん 05/11/28(月) 11:12 回答
【31680】Re:VBでファイルを開くときに... つつ 05/11/28(月) 12:00 お礼

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