Bài viết này minh họa cách nhập dữ liệu file văn bản với nhiều phân tách vào trang tính Excel dùng 3 phương pháp khác nhau. Chúng ta sẽ dùng tính năng tích hợp của Excel và code VBA để hoàn thành nhiệm vụ. Hãy đi sâu vào ví dụ để hiểu rõ các phương pháp.
3 Phương Pháp Phù Hợp Nhập File Văn Bản Với Nhiều Phân Tách Vào Excel
Giả sử chúng ta có tập dữ liệu với nhiều phân tách trong file văn bản. Tập dữ liệu trong file văn bản trông như sau-

Tập dữ liệu biểu diễn chi tiết bán hàng cho một cửa hàng. Bạn có thể tải xuống file văn bản để thực hành từ liên kết. Ở đây, mỗi trong số dữ liệu được phân tách bằng dấu phẩy hoặc dấu chấm phẩy. Chúng ta muốn nhập dữ liệu này từ file văn bản vào bảng tính Excel.
1. Nhập Dữ Liệu File Văn Bản Với Nhiều Phân Tách Dùng Tính Năng Legacy Wizards
Tính năng legacy wizard’s feature để nhập file văn bản cung cấp cho chúng ta một loạt tùy chọn để đặt cấu trúc mong muốn của tập dữ liệu nhập trong trang tính Excel.
Đi đến Legacy Wizards
- Đi đến tab Data từ Excel Ribbon.
- Nhấn vào tùy chọn Get Data .
- Di chuột qua tùy chọn Legacy Wizards .
- Chọn tùy chọn From Text (Legacy) .

Nếu Tùy Chọn From Text (Legacy) Không Có Sẵn
Trường hợp tùy chọn From Text (Legacy) không có sẵn trong tùy chọn Legacy Wizards, hãy làm sau để kích hoạt nó.
- Nhấn Alt + T + O trên bàn phím để mở Excel Options.
- Nhấn vào tab Data .
- Tích vào ô tên “From Text (Legacy)” dưới tùy chọn “Show legacy data import wizards”.
- Cuối cùng nhấn OK để lưu cài đặt.

Nhập File Văn Bản
Vì chúng ta đã nhấn vào tùy chọn From Text (Legacy) từ Legacy Wizards, nó mở cửa sổ “Import Text File” để chọn file văn bản. Điều hướng đến vị trí file và chọn để nhập nó.

Cấu Hình Cài Đặt
Bước 1 của 3:
- Chọn tùy chọn Delimited.
- Tích vào tùy chọn “My data has headers”, vì tập dữ liệu mẫu chúng ta dùng có tiêu đề.
- Nhấn nút Next .

Bước 2 của 3:
- Tích vào tùy chọn Semicolon và Comma dưới tùy chọn Delimiters .
Lưu ý: Tập dữ liệu của chúng ta có hai phân tách này. Có nhiều tùy chọn khác bao gồm tùy chọn “Other” cho phân tách không có sẵn trong danh sách.
- Cũng, tích vào tùy chọn “Treat consecutive delimiters as one”.
- Nhấn nút Next .

Bước 3 của 3:
- Theo mặc định, định dạng dữ liệu cột là General. Trong ví dụ này, chúng ta để nguyên như vậy.
- Cuối cùng nhấn nút Finish .

Chọn Đích Đến
Sau tất cả các bước trên, chọn nơi để đặt dữ liệu nhập. Ở đây, chúng ta chọn ô A1 trong trang tính hiện tại.

Tập Dữ Liệu Đã Nhập

Đọc thêm: Cách Nhập Dữ Liệu Vào Excel Từ File Excel Khác (2 Cách)
2. Chuẩn Bị Và Sau Đó Nhập Dữ Liệu File Văn Bản Với Nhiều Phân Tách Dùng Tính Năng Get and Transform Data
Trong minh họa này, chúng ta sẽ dùng tính năng get và transform data của Excel để nhập dữ liệu với nhiều phân tách từ file văn bản vào trang tính Excel. Nhưng lần này chúng ta cần chuẩn bị dữ liệu trước khi nhập nó vào Excel.
Chuẩn Bị Tập Dữ Liệu
Chúng ta cần giảm nhiều phân tách thành một phân tách để làm việc với tính năng get and transform . Với tập dữ liệu của chúng ta, chúng ta cần thay thế tất cả dấu chấm phẩy bằng dấu phẩy. Để làm vậy, chúng ta đã làm sau.
- Tạo một bản sao của file văn bản gốc đặt tên SampleDataModified.txt.
- Mở file và nhấn Ctrl + H.
- Trong cửa sổ Thay Thế đặt dấu chấm phẩy vào ô nhập “Find what” và dấu phẩy vào ô nhập “Replace with”.
- Nhấn nút Replace All .

- Bây giờ chúng ta chỉ có dấu phẩy làm phân tách trong tập dữ liệu.

Nhập File Văn Bản
Làm theo các bước đơn giản để nhập file văn bản đã sửa đổi dùng tính năng get and transform feature trong Excel.
- Đi đến tab Data .
- Nhấn nút Get Data .
- Di chuột qua tùy chọn From File .
- Nhấn vào tùy chọn From Text/CSV .

- Điều hướng đến vị trí file của SampleTextModified.txt và chọn file để nhập.

- Trong xem trước, tập dữ liệu được hiển thị như bảng.
- Nhấn nút Load .

Tập Dữ Liệu Đã Nhập

Đọc thêm: Cách Nhập Dữ Liệu Từ File Văn Bản Vào Excel (3 Phương Pháp)
Các Bài Đọc Tương Tự
- Nhập Dữ Liệu Từ Excel Vào Word Tự Động Dùng VBA (2 Cách)
- Cách Trích Xuất Dữ Liệu Từ Danh Sách Dùng Công Thức Excel (5 Phương Pháp)
- Excel Macro: Trích Xuất Dữ Liệu Từ Nhiều File Excel (4 Phương Pháp)
- Cách Trích Xuất Năm Từ Ngày Trong Excel (3 Cách)
- Cách Trích Xuất Tháng Từ Ngày Trong Excel (5 Cách Nhanh)
3. Chạy Code VBA Nhập Dữ Liệu File Văn Bản Với Nhiều Phân Tách Vào Trang Tính Excel
Chúng ta sẽ dùng hàm VBA Split và InStr để cấu hình code VBA để nhập file văn bản vào trang tính Excel. Hãy giới thiệu các hàm trước.
Hàm VBA Split: Hàm Split trong VBA Excel dùng để tách một chuỗi thành các chuỗi con. Hàm trả về mảng một chiều cơ số không. Mỗi phần tử của mảng là chuỗi con được tách bằng phân tách được định nghĩa trước. Cú pháp hàm VBA là-
Split(expression, [delimiter, [limit, [compare]]])
Ở đây,
expression– Tham số bắt buộc này biểu diễn chuỗi văn bản chứa chuỗi con và phân tách. Nếu chuỗi rỗng, hàm cũng sẽ trả về mảng rỗng.
delimiter– Ký tự chuỗi dùng để tách chuỗi thành chuỗi con. Nếu bỏ qua, hàm sẽ dùng ký tự khoảng trắng làm phân tách. Và nếu là chuỗi rỗng, nó sẽ trả về chuỗi gốc làm đầu ra.
limit– Nó biểu diễn số lượng chuỗi con trả về trong đầu ra. Nếu bỏ qua, hàm sẽ trả về tất cả chuỗi con.
compare– Nó có nhiều giá trị. Chúng ta có thể dùng vbBinaryCompare cho phân tách phân biệt chữ hoa thường và vbTextCompare cho phân tách không phân biệt chữ hoa thường trong hàm Split.
Hàm VBA InStr: Chúng ta dùng hàm InStr trong Excel VBA để tìm kiếm một chuỗi cụ thể trong chuỗi cho trước từ vị trí định nghĩa trước. Cú pháp là-
InStr([start], string 1, string 2, [compare])
Ở đây,
[start]- Vị trí từ đó nó bắt đầu tìm kiếm. Mặc định là 1 nếu bỏ qua.
string 1- Chuỗi cho trước từ đó hàm tìm kiếm cho chuỗi mong muốn.
string 2- Chuỗi cụ thể mà hàm tìm kiếm trong chuỗi cho trước.
[compare]- Loại so sánh. Mặc định là So Sánh Nhị Phân.
Để nhập dữ liệu file văn bản với nhiều phân tách vào trang tính Excel, chúng ta cần mở và viết code VBA trong trình soạn thảo visual basic. Làm theo các bước để mở trình soạn thảo visual basic và viết code ở đó.
- Đi đến tab Developer từ Excel Ribbon.
- Nhấn tùy chọn Visual Basic.

- Trong cửa sổ Visual Basic For Applications, nhấn Insert dropdown để chọn tùy chọn New Module .

Bây giờ đặt code của bạn bên trong trình soạn thảo visual code và nhấn F5 để chạy nó. Code sau thay thế dấu chấm phẩy của file văn bản bằng dấu phẩy dùng hàm VBA Replace.
Sub ImportTextFileDatatoExcel() Dim fileLocation As String, textData As String Dim rowNum As Long folderLocation = "D:\Exceldemy" Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(folderLocation) rowNum = 1 Close #1 For Each textFile In folder.Files fileLocation = folder & "\" & textFile.Name Open fileLocation For Input As #1 Do While Not EOF(1) Line Input #1, textData textData = Replace(textData, ";", ",") If InStr(textData, ",") = 0 Then Cells(rowNum, 1) = textData Else tArray = Split(textData, ",") nColumn = 1 For Each element In tArray Cells(rowNum, nColumn) = element nColumn = nColumn + 1 Next element End If rowNum = rowNum + 1 Loop Close #1 Next textFile End Sub
Trong code trên, đặt vị trí thư mục của bạn đang chứa file văn bản trong code. Chụp màn hình sau cho thấy vị trí file cho minh họa này.

Tập Dữ Liệu Đã Nhập

Đọc thêm: Chuyển Đổi Excel Sang File Văn Bản Với Phân Tách (2 Cách Tiếp Cận)
Lưu Ý
- Code VBA chúng ta dùng có thể hoạt động với nhiều file văn bản trong thư mục đã chỉ định hiệu quả.
- Nếu phân tách chỉ định không tồn tại trong chuỗi nguồn, hàm Split sẽ trả về chuỗi như nguyên bản.
- Nếu tham số compare của hàm Split bị bỏ qua, giá trị mặc định là vbBinaryCompare.
- Hàm InStrRev trả về 0 nếu chuỗi con không tồn tại trong chuỗi cho trước.
Kết Luận
Bây giờ, chúng ta biết cách nhập dữ liệu file văn bản vào Excel với nhiều phân tách trong Excel nhờ các ví dụ phù hợp. Hy vọng nó giúp bạn dùng chức năng này tự tin hơn. Mọi câu hỏi hoặc đề xuất đừng quên để trong hộp bình luận dưới.
Các Bài Viết Liên Quan
- Trích Xuất Dữ Liệu Đã Lọc Trong Excel Ra Trang Khác (4 Phương Pháp)
- Cách Trích Xuất Dữ Liệu Từ Trang Tính Excel (6 Phương Pháp Hiệu Quả)
- Trích Xuất Dữ Liệu Từ Hình Ảnh Vào Excel (Với Các Bước Nhanh)
- Cách Chuyển Đổi Notepad Sang Excel Với Cột (5 Phương Pháp)
- Excel VBA: Kéo Dữ Liệu Tự Động Từ Trang Web (2 Phương Pháp)
- Code VBA Chuyển Đổi File Văn Bản Sang Excel (7 Phương Pháp)