線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1846
推到 Plurk!
推到 Facebook!

請問如何讓Delphi完成 Excel小計功能。

答題得分者是:P.D.
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-07-15 10:22:29 IP:60.248.xxx.xxx 訂閱
Dear 各位大大, 您好:

目前有個問題就在Excel中作小計功能, 必需選取一個範圍, 再run subtotal等功能。
程式碼, 如下
Excel.Range['A5:N893'].Select;
SubtotalColumn := VarArrayCreate([1,5],VarVariant);
SubtotalColumn := VarArrayOf([8,9,10,11,12]);
Excel.Cells.Subtotal(1,xlSum,SubtotalColumn,True,False,xlSummaryBelow);
Excel.Cells.Subtotal(5,xlSum,SubtotalColumn,False,False,xlSummaryBelow);
Excel.Cells.Subtotal(13,xlSum,SubtotalColumn,False,False,xlSummaryBelow);

程式跑到紅色部份, Excel秀出一個訊息,
Microsoft Office Excel 無法決定用資料範圍中那一列作為欄名稱。
.如果您要將資料範圍中的第一列作為標 等訊息...

可是我按取消後, 明明選取範圍是正確地, 麻煩各位先進有誰知道為什麼呢。
謝謝。
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-07-16 11:19:34 IP:118.169.xxx.xxx 未訂閱
其實有一個很簡單的方法, 
你應該會如何把字串填到 EXCEL 的 CELL中吧, 如果這個沒問題
你只要把計算公式以"字串" 方式填入到 CELL 中, EXCEL就會執行指令
例如 "@SUM(A1..A5)"
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-07-26 08:17:01 IP:60.248.xxx.xxx 訂閱
謝謝PD大大:

以下, 測試後結果, 提供給大家作參考, TKS。

SubtotalColumn := VarArrayCreate([1,5],VarVariant);
SubtotalColumn := VarArrayOf([8,9,10,11,12]);
Excel.Range['A5:N893'].Subtotal(1,xlSum,SubtotalColumn,True,False,xlSummaryBelow);
Excel.Range['A5:N903'].Subtotal(5,xlSum,SubtotalColumn,False,False,xlSummaryBelow);
Excel.Range['A5:N933'].Subtotal(13,xlSum,SubtotalColumn,False,False,xlSummaryBelow);
系統時間:2017-10-17 6:16:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!