Tách họ và tên trong Excel

22/11/2001 00:00 GMT+7

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

Xem theo ngày
Bài học lớn từ Flappy Bird

Bài học lớn từ Flappy Bird

Bài học lớn từ Flappy Bird 22:18

Việ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

Năm công nghệ hào hứng 22:54

Nă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?

Apple tiếp tay với NSA? 22:15

Apple 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

Silk Road 2.0 đã bị chặn 21:50

Chợ ả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

Cuộc đua công nghệ hấp dẫn 21:37

Nă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

Steve Jobs từ giã Apple 22:26

Sự 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?

Ai giết PC? 18:33

Vừ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

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:58

Yahoo! 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

Dùng smartphone dễ gặp phần mềm độc hại 22:57

Ngườ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.

Xem thêm