Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 13

Chủ đề: Giúp đỡ hàm thay thế các ký twj số thành các ký tụ chũ

  1. #1
    meolamdep Guest

    Giúp đỡ hàm thay thế các ký twj số thành các ký tụ chũ

    Gửi : Các ACE GPE,

    Nhờ các anh chi giúp hoàn thiện hàm sau vì em làm mà không thay thế được ký tự:

    Function so_text(chuoi As String) As String
    Dim i, n As Byte
    Dim so, so1, so2 As String
    n = Len(chuoi)
    so2 = ""
    If n > 0 Then
    For i = 1 To n
    so1 = Mid(chuoi, i, 1)
    Select Case so1
    Case so1 = "1": so = "a"
    Case so1 = "2": so = "b"
    Case so1 = "3": so = "c"
    Case so1 = "4": so = "d"
    Case so1 = "5": so = "e"
    Case so1 = "6": so = "f"
    Case so1 = "7": so = "g"
    Case so1 = "8": so = "h"
    Case so1 = "9": so = "i"
    Case so1 = "0": so = "j"
    End Select
    so2 = so2 + so
    Next i
    End If
    so_text = so2
    End Function


    File kèm
    Cảm ơn Các Anh Chị.
    Ngọc toàn.

  2. #2
    buidinhsg Guest
    Xin hỏi chuỗi cần đổi của bạn chỉ có số không thôi hay cả chữ nữa.

  3. #3
    trung_vip2 Guest
    Bạn sửa hàm lại chút thế này nhé

    Mã:
    Function So_text(Chuoi As String) As String
    Dim i, n As Byte
    Dim So As String, So1 As String, So2 As String
    n = Len(Chuoi)
    So2 = ""
    So = ""
    If n > 0 Then
    For i = 1 To n
         So1 = Mid$(Chuoi, i, 1)
            Select Case So1
                Case "1": So = "a"
                Case "2": So = "b"
                Case "3": So = "c"
                Case "4": So = "d"
                Case "5": So = "e"
                Case "6": So = "f"
                Case "7": So = "g"
                Case "8": So = "h"
                Case "9": So = "i"
                Case "0": So = "j"
            End Select
        So2 = So2 + So
    Next i
    End If
    So_text = So2
    End Function

  4. #4
    nguyenhungcase Guest
    Trích dẫn Gửi bởi khuongvietphong
    Xin hỏi chuỗi cần đổi của bạn chỉ có số không thôi hay cả chữ nữa.
    Dạ, cả ký tự chữ trong chuối nữa ạ.

    Ngoctoan,

  5. #5
    mrtho88hnn Guest
    Trích dẫn Gửi bởi giaiphap
    Bạn sửa hàm lại chút thế này nhé

    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>
    Dạ đúng rồi ạ. Anh Giai phap có thể giải thích hộ sự khác nhau hàm Mid và Mid$ trong VBA được không ạ.

    Cảm ơn Anh

    Ngoctoan.

  6. #6
    hantrongtai1 Guest
    Hàm Mid thì trả về kiểu variant còn Mid$ trả về kiểu chuỗi, cái chính thì bạn sai ở chổ Case

  7. #7
    manhdc Guest
    Bạn xem File đính kèm, anh Giaiphap làm cho bạn rồi nhưng mình cũng upFile lên cho bạn test thử trường hợp nếu chuỗi chứa cả chữ xen lẫn số

  8. #8
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Rút gọn lại Code trên thành như vầy cho ngắn:

    Mã nguồn PHP:
    Function So_text(Chuoi As Range) As StringDim i As Long, so, chu For i = 1 To Len(Chuoi.Value) so = Mid(Chuoi.Value, i, 1) IF Not IsNumeric(so) Then So_text = So_text & so Else So_text = So_text & Chr(so - 10 * (so = 0) + 96) End If Next iEnd Function  

  9. #9
    nhocnguyen_vip Guest
    [QUOTE="khuongvietphong"]Rút gọn lại Code trên thành như vầy cho ngắn:

    Mã:
    Function Doi(s As String) As StringDim X As Long
    Doi = Replace(CStr(s), ".", "")
    For X = 1 To Len(Doi)
        Mid(Doi, X) = Mid("jabcdefghi", Mid(Doi, X, 1) + 1, 1)
    Next
    End Function

  10. #10
    Ricky1990 Guest
    Trích dẫn Gửi bởi doatmenhhon
    Ngắn nữa nè:

    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>
    Cám ơn bạn đã đưa ra cách của bạn để mọi người cùng học hỏi thêm.
    Tuy nhiên cách này của bạn hình như chỉ áp dụng với chuỗi chỉ chứa các số thôi, nếu có cả chữ cái xen lẫn nữa thì bị báo lỗi #Value

Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •