Hàm VBA xử lý chuổi trong Excel (1)

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi lehongduc, 22 Tháng tư 2006.

18,626 lượt xem

  1. lehongduc

    lehongduc Thành viên thân thiết

    Bài viết:
    129
    Đã được thích:
    1
    Nơi ở:
    VietNam
    Xin chào các Bạn,
    Xin tham gia với các bạn về VBA với hàm tự tạo thứ nhất nhé. Sau đây là mã nguồn. Để nạp mã nguồn này vào Excel, các Bạn làm như sau:
    1. Mở Excel với 1 WorkBook trắng
    2. Từ menu Tools chọn Macros làm hiện menu thứ cấp, chọn tiếp Visual Basic Editor (VBE)
    3. Trong VBE, chọn menu Insert \ Module
    4. Paste đọan mã sau vào đó.
    5. Lưu lại
    6. Sử dụng:
    + Nếu Bạn muốn tạo ra 1 Add-In có cái hàm này và sẽ còn những hàm khác nữa tùy bạn, từ menu File của Excel chọn Save As, trong hộp thọai Save As chọn "Save As Type" là "Microsoft Excel Add-In". Vậy là đã có Add-In (có tên là .XLA) sẵn sàng nạp để sử dụng rồi.
    + Nạp Add-In: từ menu Tools chọn Add-Ins, trong hộp thọai Add-Ins bấm nút Browse và chỉ vào file XLA vừa tạo ở trên.
    + kể từ đó trở đi, các hàm do bạn tạo ra trong Add-In này được gọi sử dụng giống như các hàm mặc định của Excel.

    Và đây là mã nguồn của hàm tự tạo thứ nhất:
    '========================================
    Function CutLoR2(St As String, Char As String, N As Boolean)
    '
    'Cat lay chuoi con tu ben trai hay ben phai chuoi me den ky tu xac dinh
    'Char: ky tu xac dinh
    'n=true => cat ben trai, n=false => cat ben phai
    '
    Dim Sb As String, stChk As String
    Dim i As Integer
    If Len(St) = 0 Then Exit Function
    St = Trim(St)
    For i = 0 To Len(St)
    If N = True Then 'Cat trai
    stChk = Mid(St, i + 1, 1)

    Else
    stChk = Mid(St, Len(St) - i, 1)

    End If

    If stChk <> Char Then
    If N = True Then
    Sb = Sb & stChk
    Else
    Sb = stChk & Sb
    End If
    Else
    Exit For
    End If
    Next i

    CutLoR2 = Sb

    End Function
    '====================================================
     
    #1
  2. SA_DQ

    SA_DQ Thành viên thân thiết

    Bài viết:
    432
    Đã được thích:
    37
    Nơi ở:
    HCM city
    Theo mình nghĩ: Chỉ nên xài 1/2 của bạn thôi!

    :dzo:
    Thêm sau 13h00
    Function HoTen(Ho_Ten As String, Optional HoDem As Boolean) As String
    ' Hàm Này Lọc cả HoTen Người có Quốcc Tịch Việt Nam, nhưng phải dùng Unicode
    Dim jz As Integer
    Dim Tam As String, Luu As String
    Luu = Ho_Ten: Ho_Ten = " " & Ho_Ten
    For jz = 0 To 19
    4 Tam = Right(Ho_Ten, 1): Ho_Ten = Left(Ho_Ten, Len(Ho_Ten) - 1)
    If Tam = " " Then
    6 Exit For
    Else
    8 HoTen = Tam & HoTen
    End If
    Next jz
    9 If HoDem Then HoTen = Left(Luu, Len(Luu) - Len(HoTen))
    End Function

    :drummer:
     
    Last edited: 22 Tháng tư 2006
    #2
  3. lehongduc

    lehongduc Thành viên thân thiết

    Bài viết:
    129
    Đã được thích:
    1
    Nơi ở:
    VietNam
    Xin mời các bạn cùng tham gia "nghiên kíu"

    Rất hoan nghênh,
    Sẽ là dịp để chúng ta cùng nghiên cứu và hiểu rõ hơn cái lợi của VBA với Excel.
     
    #3
  4. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội

Chia sẻ trang này