Xem mẫu

  1. Các phương pháp tách họ và tên Khi nhập liệu vào bảng tính Excel, thông thường ta nhập cả họ và tên vào cùng một ô. Tuy nhiên, có khi sau đó ta cần phải tách riêng tên ra khỏi họ và tên đệm, nếu làm thủ công bằng thao tác sao chép rồi dán qua ô khác thì sẽ rất bất tiện. Ngoài ra có những lúc bạn phải xắp xếp lại theo thứ tự A,B,C,... Nếu sử dụng hàm Right kết hợp với một vài hàm khác thì cũng có thể cho ra kết quả như bạn muốn, nhưng trong một số trường hợp sẽ cho kết quả không chính xác. Có một phương pháp tối ưu hơn sẽ giúp bạn hoàn thành tốt công việc này, cách thực hiện cũng khá đơn giản như sau: - Trên bảng tính chứa cột họ tên cần tách, bạn chọn menu Tools > Macro > Visual Basic Editor, lập tức xuất hiện chương trình Microsoft Visual Basic. - Tiếp theo, bạn nhấn menu Insert và chọn Module sẽ xuất hiện một cửa sổ soạn thảo.
  2. Code: Private Function Tachten(ten As String, lg As Integer) Dim j As Integer Name = Trim(ten) For j = Len(Name) To 1 Step -1 If Mid(Name, j, 1) = " " Then If lg = "1" Then Tachten = Right(Name, Len(Name) - j) Else Tachten = Left(Name, j) End If Exit For End If Next End Function
  3. Bạn nhập đoạn mã lệnh sau vào cửa sổ soạn thảo: - Bạn nhấn Ctrl+S để lưu lại và quay trở về bảng tính Excel. - Bây giờ để tiến hành tách riêng họ và tên đệm vào một ô mới, bạn đặt con trỏ tại ô mới chứa họ và tên đệm rồi nhập vào công thức =TachTen(B3,0) và nhấn Enter sẽ thấy ngay kết quả. - Để tách riêng tên vào một ô mới, bạn đặt con trỏ tại ô sẽ chứa tên cần tách và nhập vào công thức =TachTen(B3,1) rồi nhấn Enter là xong. Ghi chú: B3 chính là địa chỉ của ô ban đầu chứa cả họ, tên đệm và tên. Nguyên văn bởi NguyenNgocSon bạn xem thử code nhé: HTML Code: Function CatTen(HoVaTen As String) As String Dim l, i As Integer HoVaTen = Trim(HoVaTen) l = Len(HoVaTen) CatTen = ""
  4. For i = l To 1 Step -1 If Mid(HoVaTen, i, 1) = Space(1) Then k=i Exit For End If Next i CatTen = Mid(HoVaTen, i + 1) End Function Có mấy góp ý sau : - Bạn nên hướng dẫn mọi người cách sử dụng, hàm này có tác dụng như thế nào ?? - Việc khai báo các biến cần đầy đủ và tường minh hơn - Dòng : CatTen = "" là thừa, biến l là thừa - Hãy bẫy lỗi khi HoVaTen = "" - Nếu hàm này chỉ cắt mỗi tên thôi thì e rằng . . phí quá. hãy cho cái Option để có thể lấy HỌ - TÊN ĐỆM - TÊN
  5. - Trên GPE có các hàm như thế này rất nhiều rồi và đã tối ưu, bạn nên tham khảo nhé.
nguon tai.lieu . vn