Board logo

標題: [發問] 指定資料夾ALL-EXCEL自動彙整至總表方式-依檔名自動變更工作表名稱 [打印本頁]

作者: rouber590324    時間: 2018-1-10 16:27     標題: 指定資料夾ALL-EXCEL自動彙整至總表方式-依檔名自動變更工作表名稱

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)