DEAR ALL 大大
1.如圖一程式會將"指定資料夾ALL-EXCEL 之ALL SHEET 自動彙整至總表EXCEL-依檔名自動變更工作表名稱"
2.但小弟若僅需 ALL EXCEL 之 SHEET3之工作表彙整至總表EXCEL.(其餘SHEET1 SHEET2 SHEET4...不需要彙整)
3.請問該如何修改.煩不吝賜教.THANKS*10000
圖一
Sub yy()
Dim a As Workbook, f$, fn$, k%
Dim p$, Sh As Worksheet
Set a = ThisWorkbook
p = "C:\AAA\"
f = Dir(p & "*.xls")
Application.ScreenUpdating = False
Do While f <> ""
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)
ActiveSheet.Name = fn
k = k + 1
End If
Next
Windows(f).Close True
f = Dir
Loop
Application.ScreenUpdating = True
End Sub作者: luhpro 時間: 2018-1-10 22:03
在迴圈內拷貝Sheet前加個判斷式應該就可以了 :
For Each sh In Worksheets
If sh.Name = "SHEET3" Then
If Not IsEmpty(sh.UsedRange) Then
...
End If
End If
Next作者: rouber590324 時間: 2018-1-11 08:54
DEAR luhpro 大大
1.使用 If sh.Name = "工作表名稱" Then
可使用ALL EXCEL 之 SHEET3 之工作表名稱都相同之範例
2.但我之ALL EXCEL 需彙整之資料都放於SHEET3內但檔名不同.
故無法以檔名為KEY.只能以SHEET3為KEY
例: A EXCEL 為 SHEET3(AAA)
B EXCEL 為 SHEET3(BBB).....
3.煩再不吝賜教 THANKS*10000