Xin giúp đỡ đổi "Function" thành "Sub"

Liên hệ QC

Cô Bé Dễ Thương

Thành viên thường trực
Tham gia
30/9/16
Bài viết
223
Được thích
48
Giới tính
Nữ
Bài toán như sau:
Ví dụ:
39014
2915
106
16
7
- Lần lượt lấy 3+9, rồi lấy 9+0, tiếp 0+1, tiếp 1+4.Nếu lớn 10 thì chỉ lấy hàng đơn vị. Được số mới là: 2915
- Và lại liên tiếp 2+9=11 lấy hàng đơn vị được 1, tiếp 9+1=10 lấy 0,tiếp 1+5=6.Ta được số mới: 106
- Tiếp tục: 1+0=1, 0+6=6 Được số mớ là 16
- Tiếp tục: 1+6=7

Được sự giúp đỡ của bác haonlh có Function (kết quả ok),như sau:
Chép hàm sau vào code của bảng tính
Function SPascal(ss$) As Long
' Tinh tong pascal
Dim lenth&, i&, tam$, s1$, s2$
lenth = Len(ss)
Do While lenth > 1
tam = "": s1 = Left(ss, 1)
For i = 2 To lenth
s2 = Mid(ss, i, 1)
tam = tam & ((Val(s1) + Val(s2)) Mod 10)
s1 = s2
Next
ss = tam
lenth = Len(ss)
Loop
SPascal = ss
End Function

Chú ý đối số trên ô nào đó phải không quá 15 chữ số. Còn nếu hơn thì phải định dạng ô đó là text (hoặc gõ dấu nháy đơn rồi nhập số).

Nay em muốn đổi chương trình này thành Sub. Các anh chị giúp em với. Vốn VBA của em hiện chưa đủ để viết lai chương trình này.
Vậy xin các anh chị có ghé qua đổi Function trên thành Sub giúp em với ạ.
Em cảm ơn chân thành!
 
Thử như vầy xem sao:
PHP:
Public Sub s_TongText()
Const Rng As String = "C10"
Const Cols As Long = 6
Dim sArr(), dArr(), J As Long, CoL As Long, Num As Double, Tmp As Variant, Txt As String
    sArr = Range(Rng).Resize(, Cols).Value
ReDim dArr(1 To 2, 1 To Cols)
With CreateObject("Scripting.Dictionary")
    For J = 1 To Cols
        Tmp = Split(Application.WorksheetFunction.Trim(sArr(1, J)), " ")
        Txt = Tmp(1)
        Num = Val(Replace(Tmp(0), ",", "."))
        If Len(Txt) Then
            If Not .Exists(Txt) Then
                CoL = CoL + 1
                .Item(Txt) = CoL
                dArr(1, CoL) = Txt
                dArr(2, CoL) = Num
            Else
                dArr(2, .Item(Txt)) = dArr(2, .Item(Txt)) + Num
            End If
        End If
    Next J
End With
    Range(Rng).Offset(-1, Cols).Resize(2, CoL) = dArr
End Sub
Cháu cảm ơn chú @Ba Tê, cháu lại biết thêm ông ngoại có cháu gái xinh đây. Phải không chú @ptm0412 nhỉ?
Bài cũ của chú từ lâu rồi giờ lại may mắn đc chú xây lại.
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Chưa chắc, lão @Ba Tê xấu trai, không đẹp như lão chết tiệt làm sao có cháu ngoại xinh
Giải pháp excel có khi đổi thành Giải pháp của ông ngoại mới đúng. Mà sao thế hệ các chú lại nội công thâm hậu, môn vba này vậy nhỉ? Học mót lại các chú để chế lại mà còn hóc nổi gân mắt...hic hic
 
Lần chỉnh sửa cuối:
Upvote 0
Chưa chắc, lão @Ba Tê xấu trai, không đẹp như lão chết tiệt làm sao có cháu ngoại xinh
Híc! Ai giành đẹp lão như "lão chết tiệt" đâu nè/
Tui chỉ có 1 con gái nhưng có 2 cháu ngoại trai, "lời lỗ hổng biết".
Bây giờ chỉ còn vài giờ là tui "hưởng thọ" thêm 1 số.
Bài đã được tự động gộp:

Giải pháp excel có khi đổi thành Giải pháp của ông ngoại mới đúng. Mà sao thế hệ các chú lại nội công thâm hậu môn vba này vậy nhỉ? Học mót lại các chú để chế lại mà còn hóc nổi gân mắt...hic hic
Có chăng thêm dấu phẩy chỗ này: "nội công thâm hậu, môn vba...", đừng để người đọc "nội công thâm hậu môn" vba ...huong_tho.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
Híc! Ai giành đẹp lão như "lão chết tiệt" đâu nè/
Tui chỉ có 1 con gái nhưng có 2 cháu ngoại trai, "lời lỗ hổng biết".
Bây giờ chỉ còn vài giờ là tui "hưởng thọ" thêm 1 số.
Bài đã được tự động gộp:


Có chăng thêm dấu phẩy chỗ này: "nội công thâm hậu, môn vba...", đừng để người đọc "nội công thâm hậu môn" vba ...View attachment 254314
Cháu chúc sinh nhật sớm chú @Ba Tê nhé 20/02/1960 phải không chú nhỉ
 
Upvote 0
Upvote 0
Cháu chúc sinh nhật sớm chú @Ba Tê nhé 20/02/1960 phải không chú nhỉ
Cái đỏ đỏ là khi đang viết bài. "Vài giờ" nữa thì nó sẽ tăng thêm 1. Tức phải là 1959. Ở Việt Nam 60 đã nghỉ hưu, sướng nhỉ. Mình hơn 5 tuổi mà nghỉ hưu cùng năm.
 
Upvote 0
Cái đỏ đỏ là khi đang viết bài. "Vài giờ" nữa thì nó sẽ tăng thêm 1. Tức phải là 1959. Ở Việt Nam 60 đã nghỉ hưu, sướng nhỉ. Mình hơn 5 tuổi mà nghỉ hưu cùng năm.
Vâng ạ.
Thì ra diễn đàn toàn bậc cha bác cả.
Hình như bác định cư ở nước ngoài phải không ạ?
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi ở Đông Âu, ở Ba Lan.
Giờ chúng cháu mới biết các ông bụt diễn đàn toàn là bậc cha chú. Giá các bác hiện thông tin về tuổi thì tốt quá, phải không chị OT.
Bác định cư bên đó chắc từ thời trẻ, cháu đoán ít cũng 35 năm. Bác gái là người Ba Lan à bác?
 
Upvote 0
Upvote 0
Không đến nỗi thế. Có khi bạn ấy tự nhẩm xem phải học bao nhiêu năm nữa cho bằng "bác"
Hơn chút.
Đúng rồi.

Mà bạn là công an đấy à? :D Thông tin thế thôi nhé.
4 chữ của bác thôi là ai cũng biết bác @batman1 văn võ song toàn rồi.
Và cũng biết thêm các bác gái của các bác @batman1 @ptm0412... và các ông bụt trong diễn đàn có con mắt tinh tường rồi.
Thiếu nghĩ tiêu chí chọn vợ,chồng giỏi VBA áp vào bây giờ là chính xác. Khẳng định luôn là trai tài gái sắc cả. (em mới tham gia không tính nhé ^^)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom