返回列表 上一主題 發帖

[分享] 從多個分頁資料把合併到主頁

[分享] 從多個分頁資料把合併到主頁

本帖最後由 kimbal 於 2010-8-3 22:06 編輯

把分頁資料合併到主頁的方法

單純把欄抄出,不做彙總.
彙總的話, 請先了解內建"樞紐表"和"合併彙總"用法

欄位位置不拘,但A欄為主鍵(可手工調節),

分頁可以不放欄位.
如果欄名跟主頁不一致,可在主頁欄位註解上填上,用豆號分隔

除主鍵外其他欄內容可以為空.



歡迎留意見/討論
  1. Option Explicit
  2.    
  3. Public Sub refresh_all()
  4.     Dim shtCurr As Worksheet
  5.     Dim rngHeader As Range, rngResult As Range, strHeaderArray, strHeader
  6.     Dim lngLastPosition As Long
  7.     With ActiveSheet
  8.         .[A1].CurrentRegion.Offset(1).Clear
  9.         lngLastPosition = 2
  10.         For Each shtCurr In Sheets
  11.             If shtCurr.Name <> .Name Then
  12.                 For Each rngHeader In .[A1].CurrentRegion.Rows(1).Cells
  13.                     If (rngHeader.Comment Is Nothing) Then
  14.                         strHeaderArray = Split(rngHeader.Value)
  15.                     Else
  16.                         strHeaderArray = Split(rngHeader.Comment.Text & "," & rngHeader.Value, ",")
  17.                     End If
  18.                     For Each strHeader In strHeaderArray
  19.                         Set rngResult = shtCurr.Rows(1).Find(strHeader, LookIn:=xlValues, LookAt:=xlWhole)
  20.                         If Not rngResult Is Nothing Then
  21.                             shtCurr.Range(rngResult.Offset(1), _
  22.                                 rngResult.Offset(rngResult.CurrentRegion.SpecialCells(xlCellTypeLastCell).Row - 1)).Copy Destination:= _
  23.                                     .Cells(lngLastPosition, rngHeader.Column)
  24.                             Exit For
  25.                         End If
  26.                     Next
  27.                 Next
  28.                 lngLastPosition = .Cells(Rows.Count, 1).End(xlUp).Row + 1
  29.             End If
  30.         Next
  31.     End With
  32. End Sub
複製代碼
感謝GBKEE大出手相助簡化, 借花敬佛, 再加些東西.

2010080ConsolateAllData.zip (19.48 KB)

懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題