他のExcelファイルを開いて使用する


Excelでマクロを書いていると、他のExcelファイルを開いて参照したり、書き込んだりしたくなるケースがあります。
私は以下のようにしています。

   Dim strTMP As String, strPATH As String, i as Integer, cnt as integer
   Dim wbTMP As Workbook
   
   '   Excelファイルを開く
   Set wbTMP = Workbooks.Open(strPATH, 0, True)
 
   '   必要な処理を
   cnt = 0
   For i = 1 to 10
       cnt = cnt + wbTMP.Worksheets("Sheets3").Cells(i, 2).value
   Next i
    
   '   開いたファイルを閉じる
   wbTMP.Close
   End If


別ファイルを開いておいて元のファイルに転記したい場合などは、Workbookオブジェクトを入れる変数をもう一つ用意しておいて、新しいファイルをOpenする前に

Set wbBASE = ActiveWorkbook

などとして、wbBASE経由でアクセスしています。

もう一歩進めると、Worksheetオブジェクトを入れる変数を用意して、

    Dim wbSHEET as WorkSheet

    Set wsSHEET = Worksheets("Sheet1")


として、wsSHEET経由で操作するとか。
もしかして、もっとうまい方法があるんかな?

Shue

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-10 (日) 23:05:00