Board logo

標題: [發問] 請問要怎麼用VBA寫出類似樞紐分析的功能 [打印本頁]

作者: sandra_wang    時間: 2010-11-24 16:29     標題: 請問要怎麼用VBA寫出類似樞紐分析的功能

大家好:
小妹我有個問題想請教大家。
原本我自己錄製樞紐分析來把HR相同名稱的東西,HX欄位數量加總的動作,
然後再把樞紐分析的結果按Ctrl+alt+↓ 貼到HZ & IF欄位,
但是樞紐分析最底下會有一欄合計,可是我不想要有合計這欄,
而且中間的HS~HW欄位資料我還要手動填過去,

所以想問大家要怎麼用VBA寫出類似樞紐分析的功能呢?
我的需求是:當HR欄位名稱相同時,則把HX欄位數字合計,並依序填到HZ~IF欄位。
作者: GBKEE    時間: 2010-11-24 17:34

回復 1# sandra_wang
  1. Sub Ex()
  2.     Dim D As Object, R, S$, Rng As Range
  3.     Set D = CreateObject("Scripting.Dictionary")
  4.     With ActiveSheet
  5.          .[HR9].Resize(, 7).Copy .[HZ9]
  6.          .[HZ9].CurrentRegion.Offset(1).Clear
  7.         For Each R In .Range(.[HR10], .[HR10].End(xlDown))
  8.             S = Join(Application.Transpose(Application.Transpose(R.Resize(, 6))), ",")
  9.             D(S) = D(S) + R(1, 7)
  10.         Next
  11.         Set Rng = .[HZ9].Offset(1)
  12.         For Each R In D.KEYS
  13.             Rng.Resize(, 6) = Split(R, ",")
  14.             Rng.Offset(, 6) = D(R)
  15.             Set Rng = Rng.Offset(1)
  16.         Next
  17.     End With
  18. End Sub
複製代碼

作者: oobird    時間: 2010-11-24 19:58

這類問題我比較建議熟習樞紐分析表。
[attach]3744[/attach]
作者: HUNGCHILIN    時間: 2010-11-25 00:16

這類問題我比較建議熟習樞紐分析表。
oobird 發表於 2010-11-24 19:58



我也是認為這樣比較快
作者: sandra_wang    時間: 2010-11-25 09:19

本帖最後由 sandra_wang 於 2010-11-25 09:41 編輯

請問#3 oobird
我要怎麼從樞紐分析的"版面配置"弄出像你一樣的表格呢?
我弄得跟你都不一樣耶!!
作者: oobird    時間: 2010-11-25 11:04

[attach]3756[/attach]
作者: sandra_wang    時間: 2010-11-26 08:35

To oobird:
我有試過你的方法了,可以做出來,
但是我有另一個問題是,因為這些過程我想放進去巨集�堶情A
如果我用錄製巨集的話,那只要每次進來的資料量不同,使用錄製巨集就會有問題~
所以我是不是應該用VBA寫會比較好呢?
作者: oobird    時間: 2010-11-26 08:54

本帖最後由 oobird 於 2010-11-26 08:57 編輯

定義動態範圍名稱。
前幾天Hs版主有教過。不過~被刪了!
GB版主的VBA也是很好的選擇。




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