Page 1 of 1

สร้าง Module SumByColor แล้วผลรวมที่ได้ปัดเศษทศนิยม ต้องทำยังไงให้ไม่ปัดเศษ

Posted: Wed Jan 08, 2020 10:18 pm
by นิธิมา
สร้าง Module SumByColor เพื่อคิดผลรวมตามสี Background ของ cell ตามด้านล่างแล้วผลรวมของทศนิยมถูกปัดเศษ

Code: Select all

Function SumByColor(CellColor As Range, rRange As Range)  
Dim cSum As Long  
Dim ColIndex As Integer  
ColIndex = CellColor.Interior.ColorIndex  
For Each cl In rRange  
  If cl.Interior.ColorIndex = ColIndex Then  
    cSum = WorksheetFunction.SUM(cl, cSum)  
  End If  
Next cl  
SumByColor = cSum  
End Function

ตัวอย่างการรวมจำนวนช่องสีเหลือง คือ เมื่อนำ 1.50+3+4 ควรจะได้ 8.50
แต่กลับปัดเศษ เป็น 9.00 ดังแสดงในช่อง sum-yellow เมื่อนำผลลัพธ์ไปคำนวณต่อ
ดังช่อง Sum-Yellow*2 กลับได้ผลลัพธ์เป็น 18.00

และเมื่อทดลองใช้ฟังก์ชันปกติ Sum(B3:D3) พบว่าได้ 8.50 คือไม่ปัดเศษ

คำถามคือ ต้องใส่ CODE อะไรเพิ่มเพื่อไม่ให้มีการปัดเศษ

ขอบคุณล่วงหน้านะคะ
Capture1.PNG

Re: สร้าง Module SumByColor แล้วผลรวมที่ได้ปัดเศษทศนิยม ต้องทำยังไงให้ไม่ปัดเศษ

Posted: Wed Jan 08, 2020 10:34 pm
by puriwutpokin
แก้ตรงนี้ครับ

Code: Select all

Dim cSum As Double

Re: สร้าง Module SumByColor แล้วผลรวมที่ได้ปัดเศษทศนิยม ต้องทำยังไงให้ไม่ปัดเศษ

Posted: Thu Jan 09, 2020 11:40 am
by นิธิมา
puriwutpokin wrote: Wed Jan 08, 2020 10:34 pm แก้ตรงนี้ครับ

Code: Select all

Dim cSum As Double
ได้แล้วค่ะ ขอบคุณมากๆเลยค่