返回列表 上一主題 發帖

[發問] 公式程式碼化

回復 46# ML089
回復 47# 准提部林
二位版主 :
不好意思,公式寫錯了  
測試成功
謝謝二位版主的幫忙和指導~感恩

TOP

回復 45# ziv976688

1)
Brr(i, j) = Brr(i, j) & "," & Format(ABS((Arr(i, j) - Val(A)) Mod 49), "00;;49")

2)
V= (Arr(i, j) - Val(A)) Mod 49
IF V<0 THEN V=V+49
Brr(i, j) = Brr(i, j) & "," & Format(V, "00;;49")

TOP

回復 44# ziv976688

SP = (xV.Offset(, -9) - SP) Mod 49: If SP = 0 Then SP = 49  'M2-V2 mod 49

A式 : 當 -SP之後的差值=負數時,則SP自動轉為正數(即如=絕對值)
SP = ABS(xV.Offset(, -9) - SP) Mod 49: If SP = 0 Then SP = 49  'M2-V2 mod 49


B式 : 當-SP之後的差值=負數時,則SP自動再+49轉為正數(即如=一般的函數計算)
SP = (xV.Offset(, -9) - SP + 49) Mod 49: If SP = 0 Then SP = 49  'M2-V2 mod 49
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ziv976688 於 2021-7-28 06:53 編輯

回復 30# 准提部林
減算_取餘數(A式和B式)_Z1.rar (99.8 KB)     =>可按清除鍵~重新測試。
版主 : 您好 !
請教您~
Module 3
需求:
想將列10  Brr(i, j) = Brr(i, j) & "," & Format((Arr(i, j) + Val(A)) Mod 49, "00;;49")
改為 Brr(i, j) = Brr(i, j) & "," & Format((Arr(i, j) - Val(A)) Mod 49, "00;;49")
然後有二種方式的計算狀況 :
A式 : 當- Val(A)之後的差值=負數時,則Brr(i, j)自動轉為[colorBlue]=正數(即如=絕對值)
以函式作簡單說明~
EX : 準2進3!........準7進8!的D2=
=IF((V2<>"")*OR(IF(MOD(ABS(M2-V2),49),MOD(ABS(M2-V2),49),49)=($M$27:$S$27)),IF(MOD(ABS(M2-V2),49),MOD(ABS(M2-V2),49),49),"")
右拉再下拉填滿
EX :A式_Ans (準2進3!);…….其餘類推。

B式 : 當- Val(A)之後的差值=負數時,則Brr(i, j)自動再+49轉為正數(即如=一般的函數計算)
以函式作簡單說明~
EX : 準2進3!........準7進8!的D2=
=IF((V2<>"")*OR(IF(MOD(M2-V2,49),MOD(M2-V2,49),49)=($M$27:$S$27)),IF(MOD(M2-V2,49),MOD(M2-V2,49),49),"")
EX :  B式_Ans (準2進3!);…….其餘類推。  

以上 二種的計算方式之程式碼~懇請指導。
謝謝您^^

TOP

本帖最後由 ziv976688 於 2021-7-28 06:25 編輯

回復 4# ML089
減算_取餘數(A式和B式)_M1.rar (101.07 KB)    =>可按清除鍵~重新測試。
版主 : 您好 !
請教您~
Module 3
先把列7 SP = (SP + xV.Offset(, -9)) Mod 49: If SP = 0 Then SP = 49  'V2+M2 mod 49
調整為SP = (xV.Offset(, -9) + SP) Mod 49: If SP = 0 Then SP = 49  'M2+V2 mod 49
以利作需求說明。

需求:
想將SP = (xV.Offset(, -9) + SP) Mod 49: If SP = 0 Then SP = 49  'M2+V2 mod 49
改為SP = (xV.Offset(, -9) - SP) Mod 49: If SP = 0 Then SP = 49  'M2-V2 mod 49
然後有二種方式的計算狀況 :
A式 : 當 -SP之後的差值=負數時,則SP自動轉為正數(即如=絕對值)
以函式作簡單說明~
EX : 準2進3!........準7進8!的D2=
=IF((V2<>"")*OR(IF(MOD(ABS(M2-V2),49),MOD(ABS(M2-V2),49),49)=($M$27:$S$27)),IF(MOD(ABS(M2-V2),49),MOD(ABS(M2-V2),49),49),"")
右拉再下拉填滿
EX :的A式_Ans (準2進3!);…….其餘類推。

B式 : 當-SP之後的差值=負數時,則SP自動再+49轉為正數(即如=一般的函數計算)
以函式作簡單說明~
EX : 準2進3!........準7進8!的D2=
=IF((V2<>"")*OR(IF(MOD(M2-V2,49),MOD(M2-V2,49),49)=($M$27:$S$27)),IF(MOD(M2-V2,49),MOD(M2-V2,49),49),"")
EX :  B式_Ans (準2進3!);…….其餘類推。  

以上 二種的計算方式之程式碼~懇請指導。
謝謝您^^

TOP

回復 42# n7822123
多謝提醒~我再檢查看看。
謝謝您

TOP

回復 28# ziv976688

標示底色、餘數登入 都已經是跑各個工作表了

你好像又把這兩個寫在主程式的For 迴圈裡面,執行了N次一樣的操作~
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 ziv976688 於 2021-7-27 18:07 編輯

回復 40# ML089
不好意思,是我沒有注意到要將36樓的貴範例檔,再貼上37樓的貴解
感謝您

TOP

回復  ML089
xS.[A2] = IIf(N = 0, "", N & "個")
程式碼沒有錯~
為什麼"準6進7"和 "準7進8"的A2不一致 ...
ziv976688 發表於 2021-7-27 16:35



  之前程式錯誤是 因為後面有此程序 EXIT FOR,
當 "準6進7" [A2] = "" : EXIT FOR 就跳離FOR 迴圈,"準7進8"沒有被執行到所以是 空格(一般視為0)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ziv976688 於 2021-7-27 17:54 編輯

回復 37# ML089
版主:
全部OK了~跑完不到2秒~
謝謝您將全部的程式碼(含底色標示)重新整理~感恩

PS :38樓的回覆請不要理會~我沒有將36樓的範例檔,再改貼上37樓的貴解。
再次感謝您多日來的熱心幫忙和耐心指導~您辛苦了

TOP

        靜思自在 : 【為善競爭】人生要為善競爭,分秒必爭。
返回列表 上一主題