返回列表 上一主題 發帖

[發問] 指定檔案 抓去個檔案間資料

借此題一問
如果只要匯入M1,M2,M3到book1
且book1中,匯入的資料M1~M3間不留空白
小弟將GBKEE版主的程式改寫如下
  1. Sub Ex()
  2.     Dim Rng As Range, CopyRng As Range, I As Integer
  3.     Set Rng = Workbooks("Book1").Sheets(1).[a65536]
  4.     For I = 1 To 3
  5.         With Workbooks.Open("C:\Users\tt\Desktop\新增資料夾\" & I & ".xls")
  6.                 ActiveSheet.Range("a4", ActiveCell.SpecialCells(xlLastCell)).Copy Rng.End(xlUp).Offset(1)
  7.                 .Close False
  8.         End With
  9.     Next
  10. End Sub
複製代碼
想請教的是
一旦省略了ActiveSheet,就會出現"物件不支援此屬性或方法"
為什麼ActiveSheet一定要寫出來才能執行?
開檔案的時候,開出來的檔不是處於Activate的狀態嗎?
測試過在沒有執行開檔動作的時候,省略ActiveSheet是沒有問題的說。:Q

TOP

回復 7# GBKEE
感謝GBKEE版主的回答!
看完解答再經過實作之後,
有體認到程式碼寫在一般模組、Sheet模組及ThisWorkbook模組的差異。
看來省略的寫法真的要特別注意適用的模組類型。

TOP

        靜思自在 : 閒人無樂趣,忙人無是非。
返回列表 上一主題