Excel VBA質問箱 IV

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

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


13401 / 76732 ←次へ | 前へ→

【68836】Re:ある列ごとコピーして別のブックに貼り付けるとメッセージが出る
発言  UO3  - 11/4/21(木) 18:34 -

引用なし
パスワード
   ▼ひよっこ さん:

横から失礼します。
SK63 さんのアドバイスどおり変更して実行しましたが、
メッセージでず、またエラーにもならずに終了しました。
念のため、コードを以下に貼り付けます。

bk.Sheets(1).Columns("A").Copy コピー元がxlapp でしたが、特定しています。
また最後に
  xlapp.CutCopyMode = False
  Set bk = Nothing
  xlapp.Quit
  Set xlapp = Nothing
を追加しています。

(このあたりは、このプロシジャを抜けた後、別のプロシジャで実行しているとは
 思いますが、単体でテストしていますので)

加えて、単体でテストしましたので、変数宣言をこのプロシジャ内で行っています。

Sub test()
  Dim OpenFileName As Variant
  Dim eflg As Boolean
  Dim xlapp As Application
  Dim bk As Workbook
  
'Excelファイル以外を開けないようにする
  OpenFileName = Application.GetOpenFilename( _
      "Excelファイル(*.xls;*.xlt),*.xls;*.xlt")
 
  'ファイルが見つからない/キャンセルされた場合
  If OpenFileName = False Then
    MsgBox ("もう一度ファイルの選択をして下さい")
    eflg = True
    Exit Sub
  End If
   
  '対象ファイルを開く際に見えないように開く
  Set xlapp = CreateObject("excel.application")
  xlapp.Visible = False
  Set bk = xlapp.Workbooks.Open(OpenFileName, , ReadOnly:=True)

  'A列をコピー
  bk.Sheets(1).Columns("A").Copy

 
  '集計ブックを選択し、sheet2にコピーする
  ThisWorkbook.Activate
  Sheets(2).Select
  Range("B1").PasteSpecial Paste:=xlPasteValues
  xlapp.CutCopyMode = False
  Set bk = Nothing
  xlapp.Quit
  Set xlapp = Nothing
  
End Sub
2 hits

【68815】ある列ごとコピーして別のブックに貼り付けるとメッセージが出る ひよっこ 11/4/20(水) 14:33 質問
【68819】Re:ある列ごとコピーして別のブックに貼り... SK63 11/4/20(水) 16:47 発言
【68833】Re:ある列ごとコピーして別のブックに貼り... ひよっこ 11/4/21(木) 17:44 発言
【68834】Re:ある列ごとコピーして別のブックに貼り... SK63 11/4/21(木) 18:24 発言
【68836】Re:ある列ごとコピーして別のブックに貼り... UO3 11/4/21(木) 18:34 発言
【68835】Re:ある列ごとコピーして別のブックに貼り... Yuki 11/4/21(木) 18:32 発言
【68918】Re:ある列ごとコピーして別のブックに貼り... ひよっこ 11/4/27(水) 16:15 お礼

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