- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
5#
發表於 2014-9-16 16:19
| 只看該作者
本帖最後由 GBKEE 於 2014-9-17 13:01 編輯
1.1執行後出現 "EXCEL無法將工作表插入目的地活業簿,因為它包含的列與欄比來源活頁簿少,若要移動或覆製資料到目的地活頁簿,可以選取資料,然後使用rouber590324 發表於 2014/9/16 15:12 
這是告訴你版本不同的衝突.
那就不要複製整張工作表,複製已使用的範圍到新憎的工作表.也是一樣的- Option Explicit
- Sub yy()
- Dim a As Workbook, f$, fn$, k%
- Dim p$, Sh As Worksheet, a_Sh As Workbook
- Set a = ThisWorkbook
- p = "C:\AAA\"
- f = Dir(p & "*.CSV")
- Application.ScreenUpdating = False
- Do While f <> ""
- With Workbooks.Open(p & f)
- k = 0
- For Each Sh In .Worksheets
- If Not IsEmpty(Sh.UsedRange) Then
- fn = IIf(k = 0, Replace(f, ".xls", ""), Replace(f, ".xls", "_") & k)
- 'Sh.Copy after:=a.Sheets(a.Sheets.Count)
- Set a_Sh = a.Sheets.Add '新增一工作表
- Sh.UsedRange.Copy a_Sh.[a1] '複製已使用的範圍
- a_Sh.Name = fn
- k = k + 1
- End If
- Next
- .Close True
- End With
- f = Dir
- Loop
- Application.ScreenUpdating = True
- Sheet14.Select
- Range("A1").Select
- End Sub
複製代碼 |
|