2011年8月14日 星期日

Excel VBA 跨2個(或以上)檔案,內容資料運用

假如在同一資料夾內有 A.xls 和 B.xls 兩個檔案,要使 A.xls 的 Sheet1 儲存格 A1等於 B.xls 的 Sheet1 儲存格 A1
使用巨集來操作至少可以使用以下兩種方法。

方法一、

在A檔案內執行(B檔案可以不用開啟)

  Range("a1").Formula = "='[B.xls]Sheet1'!$A$1"
  Range("a1").Formula = Range("a1").Value          ' 讓它的內容等於它的值(不要公式)
  ' 若B檔案不是在同一個資料夾內則需要指定完整的路徑
  ' 例 : Range("a1").Formula = "='C:\XXX\[B.xls]Sheet1'!$A$1"

方法二、


  在範圍比較大的時候適用 , 且前提是 B.xls 是已經開啟的檔案
  在A檔案內執行

  Workbooks("b.xls").Sheets("sheet1").Range("a1:c3").Copy        '複製 B.xls Sheet1的 a1到c3
  ActiveSheet.Paste
  ' 貼上 , 這邊沒有指定要貼在哪裡是因為我們沒有select到其他的檔案或工作表儲存格
  ' 所以它會直接貼到 A.xls Sheet1的 A1

若是有需要在2個檔案中SELECT切換的狀況可以參考
使用VBA把活頁簿中的每個活頁切分儲存為各個檔案
的方式使用windows或workbooks在檔案間切換

張貼留言

LinkWithin

Related Posts Plugin for WordPress, Blogger...

熱門文章