Theo nhu cầu thực tế của các công ty, việc tìm kiếm và lập danh sách khách hàng là không thể thiếu. Trong danh sách khách hàng, quan trọng nhất là địa chỉ email của khách hàng. Việc tổng hợp email lại đang là vấn đề vất vả nhất, có nhiều người ngồi copy từng email trong một chuỗi bao gồm các thông tin khác của khách hàng. Việc làm này sẽ mất rất nhiều thời gian và công sức, làm giảm hiệu quả công việc. Vậy mình viết bài này nhằm hướng dẫn các bạn viết một hàm tách địa chỉ Email, khi có một danh sách khách hàng bao gồm email và thông tin khách hàng, các bạn chỉ việc gõ hàm =TachEmail(chuỗi) và nhấn Enter, rồi copy cho các ô còn lại, hàm sẽ tự động tách riêng danh sách Email cho các bạn.
Bước 1: Giả sử chúng ta có 1 danh sách khách hàng vào gồm Email, sdt, tên công ty,... ở cột A, mục đích của bài toán là tạo ra một hàm, khi chúng ta dùng hàm thì sẽ lọc ra danh sách Email ở cột bên cạnh. Các bạn thiết kế một mẫu dữ liệu tương tự như cơ sở dữ liệu trong dưới đây:
Bước 2: Sau khi thiết kế xong cơ sở dữ liệu, các bạn vào môi trường lập trình (Alt + F11 để vào môi trường lập trình), các bạn chọn tới menu Insert -> module để tạo mới một module. Sau đó các bạn copy code dưới đây vào trong module vừa tạo:
'...CODE....
Option Explicit
Function TachEmail(ByVal Chuoi As String) As Variant
Dim s As String, Email As String 'khao bao 2 chuoi s,email
Dim p1&, p2& ' khai bao 2 bien kieu long p1,p2
s = " " & Chuoi & " " 'gan s= chuoi, minh ghep them 2 dau cach de khi chuoi chi co email
Email = InStr(1, s, "@") ' tim vi tri cua "@" trong email
If Email > 0 Then ' xet dieu kien co ton tai email k?
p1 = InStr(Email, s, " ") 'tim vi tri cach trong lien truoc email
p2 = InStrRev(s, " ", Email) 'tim vi tri cach trong lien sau email
TachEmail = Mid(Chuoi, p2, p1 - p2) 'dung ham MID de lay ra email
Else
TachEmail = CVErr(xlErrNA) ' neu khong co email thi bao #N/A
End If
End Function
'... END CODE....
Bước 3: Sau khi hoàn thành việc copy code, các bạn vào môi trường bảng tính và tiến hành gõ hàm như sau:
Bước 4: Các bạn đưa và đối số duy nhất của hàm là một chuỗi, các bạn gán như sau:
Bước 5: Khi nhận xong chuỗi, các bạn copy cho các dòng dữ liệu còn lại để nhận kết quả:
Để tìm hiểu thêm kiến thức và có thể viết thêm nhiều hàm cần thiết, các bạn tìm hiểu thêm tại khóa đào tạo VBA trong excel cơ bản của công ty.
Link khóa học
Các bạn vào đây để tải file ví dụ:
Download