- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 213
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-9-1
               
|
本帖最後由 Hsieh 於 2018-3-6 17:20 編輯
回復 10# msmplay
試試看- Sub ex()
- Dim xlPath$
- xlPath = ThisWorkbook.Path
- Set fd = CreateObject("Scripting.Dictionary")
- fa = Array("list", "CCMOP_NAME", "CCMOP", "預約表單")
- sh = Array("list報表", "無資料", "無資料2", "有資料", "有資料2", "預約表單")
- an = Array(1, 1, 2, 1, 2, 4)
- For i = 0 To UBound(fa)
- f = Dir(xlPath & "\" & fa(i) & "*.xls")
- Do Until f = ""
- If fd.exists(f) = False Then
- fd(f) = f
- With Workbooks.Open(xlPath & "\" & f)
- If i = 0 Then
- ar = Array(1)
- ElseIf i = 1 Or i = 2 Then
- ar = Array(1, 2)
- Else
- ar = Array(4)
- End If
- For j = 0 To UBound(ar)
- With .Sheets(ar(j))
- If k = 0 Or k = 5 Then Rng = "A1" Else Rng = "B1"
- .Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets(sh(k)).Range(Rng)
- End With
- k = k + 1
- Next
- .Close 0
- End With
- End If
- f = Dir
- Loop
- Next
- End Sub
複製代碼 |
|