qtm1987
Thành viên thường trực
- Tham gia
- 15/9/09
- Bài viết
- 322
- Được thích
- 231
- Nghề nghiệp
- Kế toán tổng hợp
Khi khai báo biến mình thường khai báo kiểu số là Integer hoặc Long. Nhiều khi phép tính lên hàng tỷ thì code báo lỗi nên mình khai báo lại biến là kiểu "Single" nhưng khi đó lại xảy ra sai số mà không hiểu tại sao lại có sai số này mong anh chị trên diễn đàn giải thích giúp code mình có sai ở đâu không?
Mã:
Sub Test_Bien()
Dim i As Integer
Dim u As Long
Dim Total As Single
Dim sArray, Arr()
With Sheet1
sArray = .Range("B6:C10")
u = UBound(sArray, 1)
ReDim Arr(1 To u, 1 To 1)
For i = 1 To u
Arr(i, 1) = sArray(i, 2)
Debug.Print Format(Arr(i, 1), "#,##0.00")
Total = Total + sArray(i, 2)
Debug.Print Format(Total, "#,##0.00")
Next
.Range("E6:E11").ClearContents
.Range("E6").Resize(i - 1, 1) = Arr
.Range("E11") = Total
MsgBox Format(Total, "#,##0.00")
End With
End Sub