返回列表 上一主題 發帖

[發問] 請修正Sheets("Sheet1")改變格式後的語法。

[發問] 請修正Sheets("Sheet1")改變格式後的語法。

本帖最後由 ziv976688 於 2021-10-11 05:55 編輯

參考附件 : TEST_1011.rar (248.88 KB)
Sheets("Sheet1")的C2:AY21改成目前的格式~
請問:下列紅色字顏的程式碼要如何修正?
我試改許久總是跳差1列
'=================================列137
    .Range("c2:ay21").ClearContents
    Crr = .Range("c2:ay9"): Arr = .Range("c37:ay" & R): n = 0
    cR = Array("", 1, 2, 3, 6, 7, 8)   '列140
    For ci = 1 To UBound(cR) + 2: For cj = 1 To UBound(Crr, 2)
        For ai = ci To UBound(Arr) Step 17
            If Arr(ai, cj) = "" Then GoTo 97
            Crr(ci, cj) = Crr(ci, cj) + Arr(ai, cj)
97:     Next ai: n = 0
    Next cj: Next ci
    .[c2].Resize(UBound(Crr), UBound(Crr, 2)) = Crr

    Crr = .Range("c13:ay20"): cR = Array("", 1, 2, 3, 6, 7, 8)    '列149
    For ci = 1 To UBound(cR) + 2: For cj = 1 To UBound(Crr, 2)
        For ai = ci To UBound(Arr) Step 17
            If Arr(ai, cj) = "" Then GoTo 98
            n = n + 1: Crr(ci, cj) = n
98:     Next ai: n = 0
    Next cj: Next ci
    .[c13].Resize(UBound(Crr), UBound(Crr, 2)) = Crr


以上  懇請賜教!  謝謝!

回復 22# samwang
承您耐心指導~感恩
末學尚待努力中

TOP

回復 21# ziv976688

已回覆,發現您已修改幾乎快完成了,很棒加油,謝謝。

TOP

本帖最後由 ziv976688 於 2021-10-14 04:32 編輯

回復 18# samwang
不好意思,末學自行修改"多期"的程式碼~改到半夜都沒有成功 ;
所以覺得Sheets("Sheet1")還是必須更動"B36"等以下的"表頭"格式,以利日後能自行維護~
倘有給您增添煩擾之處~尚請您見諒 !

為避免不同的需求放在同題,而導致問題混淆~再另開題提問如下 :
    http://forum.twbts.com/thread-23412-1-1.html
懇請賜正~謝謝您

TOP

回復 18# samwang
sanwang大大:
測試成功
謝謝您的耐心和指導和熱心幫忙~感恩

PS:
因為以1F的範例作說明,比較簡單明瞭,而且1F範例的貴程式碼有跳17列後~
如是空白就不再統計並離開程式=>即=單期,如有數字就繼續統計=>即=多期
所以末學才一直強調以1F的附件作說明的範例~
造成您的困擾~尚請您見諒~謝謝您

TOP

本帖最後由 ziv976688 於 2021-10-13 17:13 編輯

回復 17# ML089
參考附件: TEST_1013_V1.rar (253.79 KB)
版大:
不好意思,列17列20還有一點小BUG~
測試結果:
EX:7S前3大&小_0_1902期_100_1894-10+1887-10_1次-(Ans.比對)~
列17是空白列~不應該有數字,但目前E17<>"";而是=1~答案詳如:BF17
列20是三小~應有的數字都沒有顯示出來~答案詳如:BO20:CZ20
其餘7S---_1901-10+1899---(Ans.比對);7S---_1901-10+1900---(Ans.比對)…類推

因為C18:AY19都正確~所以我實在不知道列156的程式碼要怎麼調整?
If ci < 6 Then ai = aii Else ai = aii – 1 '列156

以上  懇請賜正!  謝謝您

PS :
1_是不是必須調整列37以下的格式~如果需要~請告知
2_如果需要調整列37以下~容我思考一下(因為列44~列51可能已經不需要了)。
謝謝您

TOP

回復 13# ziv976688


你講的沒錯 #8有問題,問題是結果的資料沒清除乾淨,導致第1個沒問題,第2個就錯誤,
另外,被單期和多期定義搞亂,導致....,已更正單純用#1需求去寫,請再測試看看,謝謝   

PS: 如您提到又原程式小修改就可以符合#1需求,有時候想太多,腦筋打結.....

7S_搜尋(統)字檔(主檔)_1013.zip (46.36 KB)

TOP

回復 15# ziv976688

If ci < 6 Then ai = aii Else ai = aii + 1
有2處要改為
If ci < 6 Then ai = aii Else ai = aii - 1

要對接 37 38 39 41 42 43
CR = Array(1, 2, 3, 6, 7, 8) 的位置對應是 C欄位的 列 2 3 4 7 8 9 資料
C欄位的 列 37 38 39 41 42 43的位置對應順序是  Array(1, 2, 3, 5, 6, 7)
可見有誤差
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 11# ziv976688


為什需求結果不一樣? 有時候要顯示單期有時候要很多期數?
1.PNG

TOP

回復 12# ML089
版大 : 謝謝您
詳如附件: TEST_1013.rar (258.1 KB)
請詳見 : 7S前3大&小_0_1902期_100_1894-10+1887-10_1次-(Ans.比對)~有比對答案的圖示
PS:操作說明~
請開啟7S_搜尋()字檔(主檔)_1013==>點按執行鍵==>即可產生3個效果檔~
答案與3個(Ans.比對)檔案的 A1:AY51相同

以上  懇請賜正!  謝謝您!

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題