Tách họ và tên trong Excel
Trong công việc văn phòng, chúng ta thường nhập Họ và Tên thành hai cột riêng biệt, đối với những danh sách dài nhiều trang thì tốc độ nhập thường bị hạn chế do phải di chuyển qua lại giữa hai cột Họ và Tên; bài viết này có ý muốn hỗ trợ các bạn tạo các danh sách thật nhanh và đẹp đối với loại danh sách có hai cột Họ và Tên riêng biệt.
Toàn bộ chương trình gồm hai phần: macro TachHT() và hàm TachHoTen; sử dụng nhanh và rất tiện lợi. Đối với Macro TachHT() bạn chỉ việc nhập tất cả Họ Tên vào một cột; bôi đen vùng chọn và chạy nó; kết quả là ta có hai cột Họ, Chữ lót và Tên.
Trước tiên các bạn khởi động Excel, nhấn Alt_F8, trong mục Macro Name điền tên Macro là TachHT; kế đến chọn Create.
Tại màn hình soạn thảo Visual Basic Editor, các bạn nhập vào toàn bộ các mã nguồn như dưới đây:
Chú ý các phần có dấu nháy (‘) có chữ tiếng Việt theo sau là các phần giải thích, vì vậy các bạn không cần phải nhập vào!!!
‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‘<<<<<<<<<<<<<<<<<< Macro Tách Họ và Tên >>>>>>>>>>>>>>>>>>>>>>>
‘Tach: Biến gán số lần thực hiện tách Họ và Tên
‘HgHT: Biến gán cho tổng số hàng trong vùng chọn
‘sd: Biến gán cho mỗi hàng trong vùng chọn
‘Lch: Biến gán phần đối số
‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Option Explicit
Public Sub TachHT()
Dim tach, HgHT, sd As Integer
Dim Lch, cb
On Error GoTo Thoat
HgHT = Selection.Rows.Count ‘đếm tổng số hàng trong vùng chọn
For tach = 1 To 2 ‘Chạy lần 1: Tách Họ và Chữ lót; lần 2: Tên
Lch = Choose(tach,1,2)
Selection.EntireColumn.Insert ‘Chèn thêm 1 cột bên trái vùng chọn
For sd = 0 To HgHT - 1 ‘Thi hành hàm TachHoTen
cb = ActiveCell.Offset(sd, 1).Value ‘Trị cột bên phải mỗi dòng
ActiveCell.Offset(sd, 0).Value = TachHoTen(cb, Lch)
ActiveCell.Offset(sd, 0).Value = ActiveCell.Offset(sd, 0).Value
Next sd
With Selection ‘Định dạng cho vùng đang chọn
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.EntireColumn.AutoFit
.Offset(0, 1).Select
End With
Next tach
Selection.EntireColumn.Delete ‘Xóa cột hiện hành chứa Họ và Tên cũ
ActiveCell.Offset(0, 0).Select ‘Di chuyển về ô đầu
Thoat:
End Sub
‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‘<<<<<<<<<<<<< Hàm TachHoTen >>>>>>>>>>>>>>>>>>
‘HovaTen: chuỗi Họ, Chữ lót và Tên
‘x: đối số; x =1 (tách Họ và Chữ lót); x = 2 (tách Tên)
‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function TachHoTen(HovaTen, x)
Dim Ten, Dodai As Integer, i As Integer ‘Khai báo các biến Ten, Dodai,i
HovaTen = Trim(HovaTen) ‘Cắt bỏ khoảng trống thừa
Dodai = Len(HovaTen) ‘Xác định độ dài của chuỗi HovaTen
If Dodai = 0 Then
Ten = “”
Else ‘ Tìm khoảng trống đầu tiên kể từ bên phải chuỗi để tách Tên
For i = 1 To Dodai - 1
Select Case x ‘Lựa chọn tách Họ, Chữ lót và Tên
Case 1 ‘Lấy phần Họ và Chữ lót
If Mid(HovaTen, (Dodai - i), 1) = Space(1) Then
Ten = Left(HovaTen, (Dodai - i))
Exit For
Else ‘Bỏ trống khi HovaTen chung
Ten = Space(1)
End If
Case 2 ‘Lấy phần Tên
If Mid(HovaTen, (Dodai - i), 1) = Space(1) Then
Ten = Right(HovaTen, i)
Exit For
Else ‘Lấy phần HovaTen chung
Ten = HovaTen
End If
End Select
Next i
End If ‘Dodai = 0
TachHoTen = Ten
End Function
Sau khi nhập xong toàn bộ macro trên, các bạn nhấn Ctr_S và lưu bảng tính với tên mà bạn muốn; kế đến nhấn Alt_Q để thoát khỏi màn hình soạn thảo Visual Basic Editor, tại một Worksheet trống các bạn nhập theo minh họa dưới đây; bao gồm các tên làm mẫu với kích thước khác nhau (các bạn có thể tự nhập theo ý của các bạn) để kiểm tra macro có chạy đúng theo yêu cầu hay chưa:
A B C
1 Công Huyền Tôn Nữ Minh
Thư
2 Trần Khắc Tỵ
3 Trần Ngọc Phương Thảo
4 Trần Thị Hạnh Dung
5 Sesame
Nhập xong như minh họa trên, các bạn chọn vùng A1:A10; kế đến nhấn Alt_F8, chọn macro TachHT và nhấn Run. Kết quả sẽ được như sau:
A B C
1 Công Huyền Tôn Nữ Minh Thư
2 Trần Khắc Tỵ
3 Trần Ngọc Phương Thảo
4 Trần Thị Hạnh Dung
5 Sesame
Trên đây là toàn bộ chương trình “Tách Họ Tên trong Excel 97”; hy vọng nó giúp ích cho các bạn một phần nào trong công việc văn phòng và cũng có thể chương trình còn nhiều thiếu sót; rất mong các bạn đóng góp ý kiến và cải tiến cho chương trình hoàn thiện hơn.
Viết bình luận
Đọc thêm
Bài học lớn từ Flappy Bird
Bài học lớn từ Flappy Bird 22:18Việc Nguyễn Hà Đông khai tử trò chơi của mình do không chịu được áp lực từ dư luận một lần nữa đặt ra vấn đề làm sao để những chú chim như Flappy Bird nói riêng và ngành công nghệ Việt nói chung tiếp tục bay cao
Năm công nghệ hào hứng
Năm công nghệ hào hứng 22:54Năm công nghệ 2014 bắt đầu với triển lãm CES 2014 hứa hẹn sẽ đem lại nhiều hứng thú cho giới chuyên môn lẫn người dùng
Apple tiếp tay với NSA?
Apple tiếp tay với NSA? 22:15Apple vừa lên tiếng phủ nhận việc tiếp tay cùng NSA giám sát người dùng điện thoại thông minh iPhone
Silk Road 2.0 đã bị chặn
Silk Road 2.0 đã bị chặn 21:50Chợ ảo bán các chất gây nghiện Silk Road 2.0 chỉ vận hành chưa đầy 6 tuần qua đã nhanh chóng bị chính quyền “sờ gáy”. Có ít nhất 3 quản trị viên của trang web Silk Road 2.0 tại Mỹ đã bị FBI bắt. Trong khi đó, chính quyền Ireland cũng bắt một quản trị diễn đàn khác tại nước này.
Cuộc đua công nghệ hấp dẫn
Cuộc đua công nghệ hấp dẫn 21:37Năm 2014 hứa hẹn rất sôi động với ngành công nghệ, đặc biệt là những xu hướng mới sẽ làm thay đổi cuộc sống của con người
Steve Jobs từ giã Apple
Steve Jobs từ giã Apple 22:26Sự ra đi của Steve Jobs có ý nghĩa gì đối với Apple và ngành công nghiệp máy tính ?
Ai giết PC?
Ai giết PC? 18:33Vừa bước qua sinh nhật tuổi 30, máy tính cá nhân (PC) đã đứng trước nguy cơ chung số phận với máy đánh chữ, thiết bị đã bị khai tử trước đây vì sự hiện diện của PC. Vòng xoáy lịch sử đang lặp lại? Lần này, ai là sát thủ sẽ loại PC khỏi cuộc chơi?
Thiên tài Steve Jobs đột ngột từ chức CEO Apple
Thiên tài Steve Jobs đột ngột từ chức CEO Apple 15:51(NLĐO) - Ông Steve Jobs, giám đốc điều hành (CEO) hãng Apple, đã bất ngờ từ chức hôm 24-8 và giao vị trí này lại cho ông Tim Cook, giám đốc quản lý, của công ty.
97% người dùng internet để đọc tin tức
97% người dùng internet để đọc tin tức 22:58Yahoo! và Kantar Media Việt Nam vừa công bố kết quả nghiên cứu Net index lần thứ 3 về xu hướng sử dụng internet tại Việt Nam.
Dùng smartphone dễ gặp phần mềm độc hại
Dùng smartphone dễ gặp phần mềm độc hại 22:57Người sử dụng smartphone, đặc biệt là người sử dụng hệ điều hành Android, đang trở thành mục tiêu chủ yếu cho các tác giả phần mềm độc hại, theo báo cáo mới nhất của hãng bảo mật Lookout.