- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
本帖最後由 GBKEE 於 2014-2-6 20:55 編輯
回復 38# blue2263
內有很多函數,所以造成資料更新會變的很慢,應該不是如此.
是否活頁簿的計算是手動,要改成自動
下列程式碼,工作表可不用函數算.- Option Explicit
- Sub Macro()
- ' 報表整合1-new
- Dim Rng As Range, Ar(1 To 3)
- On Error GoTo 101 ' 'web 查無 到下一個代碼
- Set Rng = Sheets("代碼").[a2]
- Do While Rng <> "" '無代碼 中斷
- With Sheets("原始表")
- .Range("a6") = Rng
- .Range("az7").QueryTable.Refresh BackgroundQuery:=False
- With .Range("BB12:BB27")
- Ar(1) = Application.Transpose(.Cells) '人數
- Ar(2) = Application.Transpose(.Offset(, 1)) '股數
- Ar(3) = Application.Transpose(.Offset(, 2)) '佔集保庫存數比例 (%)
- End With
- End With
- With Sheets("匯總").Range("A1").End(xlDown).Offset(1) '選擇工作表,到最底行
- .Cells(1) = Rng
- .Cells(1, 2) = Rng.Offset(, 1)
- .Cells(1, "C").Resize(, UBound(Ar(1))) = Ar(1)
- .Cells(1, "S").Resize(, UBound(Ar(1))) = Ar(2)
- .Cells(1, "AI").Resize(, UBound(Ar(1))) = Ar(3)
- .Cells(1, "AX") = ""
- '.Range("A1:aw1").Value = Sheets("原始表").Range("A6:aw6").Value
- End With
- 101
- Set Rng = Rng.Offset(1) '下一個代碼
- Loop
- End Sub
複製代碼 |
|