กระทู้เก่าบอร์ด อ.Yeadram
5,409 3
URL.หัวข้อ /
URL
ฟังก์ชัน การแยกชนิดของเงิน
ค้นหาจากในกู้เกิ้ลมาจากเวบสองแคว อยากให้ผู้รู้ช่วยเขียนฟังก์ชันให้ช่วยเอาไปใช้ในแอคเซสให้หน่อยครับ
อยากรู้เรื่องฟังชันการแบ่งจำนวนเงินเช่น5103จะมีแบงค์อะไรบ้างคะ
*จำนวนเงินที่ต้องการหา
x=55688
*ตัวแปรเก็บจำนวนแบงก์ชนิดต่างๆ
b1000=0
b500=0
b100=0
b50=0
b20=0
b5=0
b1=0
*ชนิดแบงก์
m1=1000
m2=500
m3=100
m4=50
m5=20
m6=10
m7=5
*เริ่มต้นทำงาน
b1000=int(x/m1)
if b1000>0
b12=mod(x,m1)
else
b12=x
endi
b500=int(b12/m2)
if b500>0
b22=mod(b12,m2)
else
b22=b12
endi
b100=int(b22/m3)
if b100>0
b32=mod(b22,m3)
else
b32=b22
endi
b50=int(b32/m4)
if b50>0
b42=mod(b32,m4)
else
b42=b32
endi
b20=int(b42/m5)
if b20>0
b52=mod(b42,m5)
else
b52=b42
endi
b10=int(b52/m6)
if b10>0
b62=mod(b52,m6)
else
b62=b52
endi
b5=int(b62/m7)
if b5>0
b72=mod(b62,m7)
else
b72=b62
endi
b1=b72
*เสร็จ
wait wind 'ใบพัน= '+str(b1000)+chr(13)+'ใบห้าร้อย= '+str(b500)+chr(13)+'ใบร้อย= '+str(b100)+chr(13)+'ใบห้าสิบ= '+str(b50)+chr(13)+'ใบยี่สิบ= '+str(b20)+chr(13)+'เหรียญสิบ= '+str(b10)+chr(13)+'เหรียญห้า'+str(b5)+chr(13)+'เหรียญบาท= '+str(b1)
ขอบคุณครับ
อยากรู้เรื่องฟังชันการแบ่งจำนวนเงินเช่น5103จะมีแบงค์อะไรบ้างคะ
*จำนวนเงินที่ต้องการหา
x=55688
*ตัวแปรเก็บจำนวนแบงก์ชนิดต่างๆ
b1000=0
b500=0
b100=0
b50=0
b20=0
b5=0
b1=0
*ชนิดแบงก์
m1=1000
m2=500
m3=100
m4=50
m5=20
m6=10
m7=5
*เริ่มต้นทำงาน
b1000=int(x/m1)
if b1000>0
b12=mod(x,m1)
else
b12=x
endi
b500=int(b12/m2)
if b500>0
b22=mod(b12,m2)
else
b22=b12
endi
b100=int(b22/m3)
if b100>0
b32=mod(b22,m3)
else
b32=b22
endi
b50=int(b32/m4)
if b50>0
b42=mod(b32,m4)
else
b42=b32
endi
b20=int(b42/m5)
if b20>0
b52=mod(b42,m5)
else
b52=b42
endi
b10=int(b52/m6)
if b10>0
b62=mod(b52,m6)
else
b62=b52
endi
b5=int(b62/m7)
if b5>0
b72=mod(b62,m7)
else
b72=b62
endi
b1=b72
*เสร็จ
wait wind 'ใบพัน= '+str(b1000)+chr(13)+'ใบห้าร้อย= '+str(b500)+chr(13)+'ใบร้อย= '+str(b100)+chr(13)+'ใบห้าสิบ= '+str(b50)+chr(13)+'ใบยี่สิบ= '+str(b20)+chr(13)+'เหรียญสิบ= '+str(b10)+chr(13)+'เหรียญห้า'+str(b5)+chr(13)+'เหรียญบาท= '+str(b1)
ขอบคุณครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R07468
Debug.Print Ngeon(7536.85)
ธนบัตรหนึ่งพัน = 7, ธนบัตรห้าร้อย = 1, ธนบัตรยี่สิบ = 1, เหรียญสิบ = 1, เหรียญห้า = 1, เหรียญบาท = 1, เหรียญห้าสิบ = 1, เหรียญสลึง = 1
ธนบัตรหนึ่งพัน = 7, ธนบัตรห้าร้อย = 1, ธนบัตรยี่สิบ = 1, เหรียญสิบ = 1, เหรียญห้า = 1, เหรียญบาท = 1, เหรียญห้าสิบ = 1, เหรียญสลึง = 1
Function Ngeon(yTotal As Double) As String
Dim stNgeon As String
Dim i As Integer
Dim dbTemp As Double
Dim Money(10, 1)
Money(0, 0) = "หนึ่งพัน": Money(0, 1) = 1000
Money(1, 0) = "ห้าร้อย": Money(1, 1) = 500
Money(2, 0) = "หนึ่งร้อย": Money(2, 1) = 100
Money(3, 0) = "ห้าสิบ": Money(3, 1) = 50
Money(4, 0) = "ยี่สิบ": Money(4, 1) = 20
Money(5, 0) = "สิบ": Money(5, 1) = 10
Money(6, 0) = "ห้า": Money(6, 1) = 5
Money(7, 0) = "สอง": Money(7, 1) = 2
Money(8, 0) = "บาท": Money(8, 1) = 1
Money(9, 0) = "ห้าสิบ": Money(9, 1) = 0.5
Money(10, 0) = "สลึง": Money(10, 1) = 0.25
stNgeon = ""
For i = 0 To 10
dbTemp = (yTotal * 100) \ (Money(i, 1) * 100)
If dbTemp > 0 Then
stNgeon = stNgeon & ", " & IIf(i < 5, "ธนบัตร", "เหรียญ") & Money(i, 0) & " = " & dbTemp
yTotal = yTotal - (dbTemp * Money(i, 1))
End If
Next
Ngeon = Mid(stNgeon, 3)
End Function
3 @R07471
ขอบคุณมากครับ
Time: 0.2297s
ใช้เอ็กเซลแทนโดยเริ่มต้นที่ ดั่งรูป
=IF(B$1,INT(($M2-SUMPRODUCT($A$1:A$1*$A2:A2))/B$1),0) ลากสูตรตั้งแต่ B2:L2 ตรง M2 ใส่จำนวนเงินที่ต้องการ