返回列表 上一主題 發帖

[發問] 公式程式碼化

[發問] 公式程式碼化

本帖最後由 ziv976688 於 2021-7-24 01:07 編輯

不好意思,懇請各位大大指導和幫忙~
請將下列公式程式碼化。
謝謝!
公式程式碼化.rar (85.64 KB)
Sheets("準2進3")!D2的原公式
=LEFT(TEXT(SUM(TEXT(MOD(M2+(0&TRIM(MID(SUBSTITUTE(V2,",","         "),1+{0,1,2,3,4}*9,9))),49),"[=0]!49")*10^{8,6,4,2,0}),"00!,00!,00!,00!,00"),IF(V2="",0,2+3*(LEN(V2)-LEN(SUBSTITUTE(V2,",",)))))
右拉到J2,再下拉到.Range("J" & .[B2].End(xldown).row - 1) 填滿

Module 1
文字說明:
備註:
1_要相加的2個目標儲存格=M:S和V:AB二個區段之同列等欄距(間隔8欄)的各儲存格。
2_VB2:AB" & .[B2].End(xldown).row - 1) = ""的儲存格不計算(略過)。
3_餘數=0時,視同=49。   
4_有顯示2個(含)以上時,則以","符號區隔。
實例說明:
Sheets("準2進3")
當V2<>""時,則D2=(M2的值+V2的值)/49 =>取餘數
EX:D2 =MOD(11+8,49)=19
EX:D2 =MOD(11+27,49)=38
即D2=19,38


當AA2<>""時,則I2=(R2的值+AA2的值)/49 =>取餘數
EX:I2 =MOD(42+30,49)=23
即I2=23


當W13<>""時,則E13=(N13的值+W13的值)/49 =>取餘數
EX:E13 =MOD(04+0,49)=04
EX:E13 =MOD(04+45,49)=49
即E13=04,49


當AB26<>""時,則J26=(S26的值+AB26的值)/49 =>取餘數
EX:J26=MOD(02+9,49)=11
即J26= 11

其餘…Sheets("準3進4")~ Sheets("準7進8")…類推。

回復  singo1232001
singo1232001 發表於 2021-7-24 23:43

公式程式碼化_singo1232001.rar (85.97 KB)
測試結果 :答案都是 FALSE
請再修正~謝謝您

TOP

本帖最後由 ziv976688 於 2021-7-25 09:08 編輯

回復 4# ML089
測試成功
程式碼加註解~受益良多
謝謝版主的耐心指導漢一再的熱心幫忙~感恩

TOP

本帖最後由 ziv976688 於 2021-7-25 16:27 編輯

回復 7# singo1232001
公式程式碼化_singo1232001_V1.rar (99.52 KB) =>可按清除鍵測試
99%OK了!
只差列20
x0 = Format((x0 + s.Cells(i + 1, j + 12)) Mod 49, "00") '< --忘了加00
請再加上如下條件需求 :
當餘數=0時,視同=49
EX: E10=19,00
正確應為~
E10=19,49
謝謝您

TOP

本帖最後由 ziv976688 於 2021-7-25 16:27 編輯

回復 4# ML089
標示底色.rar (105.15 KB) =>可按清除鍵測試
不好意思,可否請版主賜正~
標示底色
Module 5
' If xR > 0 And xR = xS.Range("M" & xS.[B65536].End(xlUp).Row, "S" & xS.[B65536].End(xlUp).Row) Then xR.Interior.ColorIndex = 8  '標示藍底色
列7

=當A4:A52<>""的儲存格之值~
有顯示在M:S有數字之最後一列的任一個儲存格時,
則A欄的值之儲存格標示藍底色。

' If Val(SP) > 0 And Val(SP) = xS.Range("M" & xS.[B65536].End(xlUp).Row, "S" & xS.[B65536].End(xlUp).Row) Then xD(Val(SP)).Interior.ColorIndex = 8 '標示藍底色
列12

=當xS.Range("D2:J" & xS.[B65536].End(xlUp).Row - 1) <>""的儲存格之任1個值~
有顯示在M:S最後一列的任一個儲存格時,
則xS.Range("D2:J" & xS.[B65536].End(xlUp).Row - 1)的值之儲存格標示藍底色。

請問:
Module 5列7列12之程式碼要如何修正 ?
謝謝您

TOP

回復 10# ML089
標示底色_ML089.rar (105.69 KB)   =>可按清除鍵測試
版主 :
您是不是誤解需求的意思了
If Not....Is Nothing.....
變成<>""的儲存格全部標示藍色
請賜正!謝謝您

TOP

回復 12# n7822123
測試成功
謝謝您的幫忙和指導~感恩

TOP

本帖最後由 ziv976688 於 2021-7-25 19:51 編輯

回復 13# n7822123
測試成功
謝謝您的幫忙和指導~感恩

不好意思,請教一下 :
  列8
  For Each Num In Split(Arr(2)(R, C), ",")
      餘數 = (Arr(1)(R, C) + Num - 1) Mod 49 + 1
請問 :
Num是指填入控制箱的期距數  Num = "25" 嗎?
還是只是變數 ?
謝謝您

TOP

本帖最後由 ziv976688 於 2021-7-25 20:07 編輯

回復 14# ML089
測試成功
謝謝您的幫忙和指導~感恩

請教一下 :
Module 3  餘數登錄
執行起來會卡卡的~游標一值跳
如果把DATA!VB編輯器的列47  Call 餘數登錄 點為註解~
游標就正常不跳了。
請問 :
這是什麼原因 ?
是不是我的電腦有問題 ?
標示底色_ML089_V1.rar (107.08 KB)
謝謝您

TOP

回復 18# singo1232001
測試成功
謝謝您的幫忙和指導~感恩

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題