返回列表 上一主題 發帖

[發問] VBA 函數公式無法執行

[發問] VBA 函數公式無法執行

本帖最後由 ziv976688 於 2020-12-19 00:35 編輯

未命名-1.png
2020-12-19 00:24


未命名-2.png
2020-12-19 00:27


測試檔.rar (141.04 KB)

說明︰
將函數版範例的B65函數公式,貼到程式主檔的列147
不知何故?列147程式碼無法執行,會呈現如圖片的偵錯(其餘公式的程式執行都沒有問題)。
列147
[B65].FormulaArray = "=IF(MAX((COUNTIF($B1:B1,""<>"")=COUNTIF(OFFSET($B1,,,,COLUMN($A:$AW)),""<>""))*(SMALL(IF($A3:$A60=""小計"",ROW(3:60)),COUNTIF($B1:B1,""<>""))=ROW(3:60))*$B3:$AX60)=N(OFFSET($A1,SMALL(IF($A3:$A60=""小計"",ROW(3:60)),COUNTIF($B1:B1,""<>""))-1,COLUMN(A1))),OFFSET($A1,SMALL(IF($A3:$A60=""小計"",ROW(3:60)),COUNTIF($B1:B1,""<>""))-1,COLUMN(A1)),"""")"

PS︰列147程式碼目前點綠沒有執行。

請問︰
如何才能解決執 行公式程式的Bug問題?
謝謝!

本帖最後由 ziv976688 於 2020-12-19 13:06 編輯

回復 1# ziv976688
爬文找到造成"無法設定種類Range的FormulaArray屬性"的原因是 : 公式超過255個字元
但只有找到2007以後的版本的解決方法 : 勾選“信任對VBA工程對象模型的訪問”

不知有哪位大大能提供2003版本的操作和解決方法?
謝謝!

TOP

本帖最後由 ziv976688 於 2020-12-19 16:57 編輯

回復 4# 准提部林
准提版主 :
除非不得已,不太敢請教VBA,因為怕下載源的表格不相同時,自己不一定會修改
這一題的貴解,位址很容易懂,而且竟然還可以適用於各種欄位數的不同區段分布~
真是神解

謝謝版主的熱心幫忙~感恩再感恩

TOP

本帖最後由 ziv976688 於 2020-12-19 19:21 編輯

回復 4# 准提部林
未命名-1.png
2020-12-19 19:19

未命名-2.png
2020-12-19 19:20

TEST_2.rar (174.7 KB)
准提版主 : 您好 !
不好意思,將貴解程式碼置入實務的Ori主檔中,執行時產生一些小問題(多一點小手續,但最終還是能執行完畢) ~
每執行完成5個測試檔後,就會產生一次偵錯提示框(請詳見程式碼的列155) :
EX : 目前提供的13個測試檔,執行後會在第6個(11-20)和第11個(12-08)各產生一次偵錯(如附件圖片)
也就是說 : 每次只執行5個測試檔,就不會產生偵錯,執行一次即可完成。
敬請您再賜正。謝謝您

PS︰目前13個測試檔的操作細況說明
點→按鈕1
當跳出偵錯提示框→選結束
再跳出已開啟檔案→關閉
再跳出是否儲存檔案→選否
再點→按鈕1
再跳出是否取代檔案→選是
直到執行完畢。

TOP

回復 7# 准提部林
完成了
謝謝版主的熱心幫忙和耐心指導~感恩

TOP

本帖最後由 ziv976688 於 2020-12-24 08:18 編輯

回復 7# 准提部林
浮動迄止列的語法。
程式碼進階.rar (12.68 KB)
准提版主︰
想將For Each xR In [A2:A60]的範圍迄止列(A60),
改為最後1個"小計"列或"總計"位址列 – 2
以利程式碼能適用各種不同的段落排序。

請問︰這樣可行嗎?
如果可行~
能否再請您幫忙編寫浮動迄止列的語法?
謝謝您
未命名.png
2020-12-24 08:14

TOP

回復 10# 准提部林
准提版主︰
哈~您太厲害了~不用下載檔案也可以解題~~~~
測試OK!
感恩

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題