CÔNG TY CỔ PHẦN BLUESOFTS

CÔNG TY CỔ PHẦN BLUESOFTS

Hướng dẫn tạo hàm tách Email trong chuỗi


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:

1-(1).jpg

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....

2.jpg

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:

3.jpg

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:

4.jpg

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

5.jpg

Để 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