bạn thử dùng đoạn code này xem sao?Nhờ các anh em cao thủ chỉ giáo:
Mính muốn sum 1 dãy số trong 1 ô excell nhưng không biết dùng hàm nào.
VD: A1=125.36 mình muốn cộng từng số lại (1+2+5+3+6=17) không biết dùng hàm nào nhờ các anh em chỉ giúp. thanks
Sub tinhtong()
Dim a As Variant
Dim i As Integer
'Dim c As Double
a = Application.WorksheetFunction.Substitute(Range("a1"), ".", "")
Dim tong As Double
tong = 0
For i = 1 To Len(a)
tong = tong + Mid(a, i, 1)
Next i
Range("b2").Value = tong
End Sub
Đây là cách dùng công thức (Đúng với ví dụ của bạn)Nhờ các anh em cao thủ chỉ giáo:
Mính muốn sum 1 dãy số trong 1 ô excell nhưng không biết dùng hàm nào.
VD: A1=125.36 mình muốn cộng từng số lại (1+2+5+3+6=17) không biết dùng hàm nào nhờ các anh em chỉ giúp. thanks
Nếu dùng code thì đố biết bằng cách nào khỏi dùng đến vòng lập?bạn thử dùng đoạn code này xem sao?
PHP:Sub tinhtong() Dim a As Variant Dim i As Integer 'Dim c As Double a = Application.WorksheetFunction.Substitute(Range("a1"), ".", "") Dim tong As Double tong = 0 For i = 1 To Len(a) tong = tong + Mid(a, i, 1) Next i Range("b2").Value = tong End Sub
Function TiTo(Cll)
Dim I, Tong
For I = 1 To Len(Cll)
If IsNumeric(Mid(Cll, I, 1)) Then Tong = Tong + Val(Mid(Cll, I, 1))
Next I
TiTo = Tong
End Function
Public Function Tong(Cll)
Dim CoRe, Tam
Set CoRe = CreateObject("VBScript.RegExp")
With CoRe
.Global = True
.Pattern = ""
Tam = .Replace(Replace(Cll, ".", ""), "+")
Tam = Evaluate(Mid(Tam, 2, Len(Tam) - 2))
End With
Tong = Tam
End Function
Ẹc... Ẹc... chưa mấy chính xác và chưa mấy tổng quátKhông dùng vòng lặp
Mã:Public Function Tong(Cll) Dim CoRe, Tam Set CoRe = CreateObject("VBScript.RegExp") With CoRe .Global = True .Pattern = "" Tam = .Replace(Replace(Cll, ".", ""), "+") Tam = Evaluate(Mid(Tam, 2, Len(Tam) - 2)) End With Tong = Tam End Function
Function SumString(ByVal Text As String) As Double
With CreateObject("VBScript.RegExp")
.Global = True: .Pattern = "\D"
SumString = Evaluate(Join(Split(StrConv(.Replace(Text, ""), 64), Chr(0)), "+") & "0")
End With
End Function
Function SumString(ByVal Text As String) As Double
With CreateObject("VBScript.RegExp")
.Global = True: .Pattern = "\D"
Text = .Replace(Text, "")
.Pattern = ""
SumString = Evaluate(.Replace(Text, "+") & "0")
End With
End Function