Kéo tên tệp vào một trang tính (Microsoft Excel)
Carol có một thư mục với khoảng 1.000 tệp với các tên như YR1905-LIC12345-Smith, Harry-Brown, Mary. Cô ấy muốn đưa tất cả các tên tệp này (không phải tên tệp) vào một trang tính và tách các tên ở dấu gạch ngang. Do đó, tên tệp ví dụ thực sự sẽ chiếm bốn ô trong một hàng. Carol nghĩ rằng điều này sẽ cần một macro để thực hiện, nhưng cô ấy không chắc chắn cách truy cập vào các tên tệp trong macro đó.
Tất nhiên, bạn có thể sử dụng macro để thực hiện việc này, nhưng bạn không cần phải sử dụng macro. Thay vào đó, bạn có thể sử dụng một thủ thuật cũ của thời đại DOS để có được thứ bạn cần.
Để truy cập dấu nhắc lệnh nếu bạn đang sử dụng phiên bản Excel mới hơn, chỉ cần nhập “dấu nhắc lệnh” (không có dấu ngoặc kép) vào hộp tìm kiếm bên cạnh biểu tượng Windows trên thanh tác vụ. Nếu bạn đang sử dụng phiên bản Excel cũ hơn, dấu nhắc lệnh có thể truy cập thông qua Windows: Start | Tất cả các chương trình | Phụ kiện | Dấu nhắc lệnh. Tại dấu nhắc lệnh, hãy điều hướng cho đến khi bạn ở trong thư mục chứa các tệp. Ví dụ, giả sử rằng bạn đang cố gắng lấy danh sách các tệp trong thư mục này:
c:\Users\e07482\My Documents\rnp
Để điều hướng đến thư mục đó, hãy nhập lệnh này tại dấu nhắc lệnh:
chdir "\Users\e07482\My Documents\rnp"
Bạn cần sử dụng các dấu ngoặc kép xung quanh thư mục vì khoảng trống trong tên đường dẫn. Sau đó, gõ lệnh sau để xem danh sách tệp trên màn hình là gì:
dir /b /a-d
Phần “/ a-d” có nghĩa là “không liệt kê các thư mục.” Nếu bạn hài lòng với những gì bạn nhìn thấy trên màn hình, bạn có thể gửi nó vào tệp bằng cách sử dụng như sau:
dir /b /a-d > filelist.txt
Thao tác này tạo một tệp văn bản (filelist.txt) chứa danh sách tất cả các tệp trong thư mục hiện tại. Bây giờ, trong Excel, bạn có thể làm theo các bước sau:
-
Hiển thị hộp thoại Mở. (Trong Excel 2007, bấm vào nút Office rồi bấm Mở. Trong Excel 2010, bấm vào tab Tệp của ruy-băng rồi bấm Mở. Trong Excel 2013, bấm vào tab Tệp của ruy-băng, bấm Mở, rồi đến Máy tính, và cuối cùng Duyệt. Trong các phiên bản Excel mới hơn, hãy nhấp vào tab Tệp của dải băng và nhấp vào Duyệt.)
-
Sử dụng danh sách thả xuống Loại tệp ở cuối hộp thoại, cho biết bạn muốn mở Tệp Văn bản (.prn; .txt; * .csv).
-
Điều hướng đến và chọn tệp filelist.txt mà bạn đã tạo tại dấu nhắc lệnh.
-
Nhấp vào Mở. Excel khởi động Trình hướng dẫn Nhập Văn bản, hiển thị hộp thoại Bước 1/3. (Xem Hình 1.)
-
Đảm bảo rằng lựa chọn Delimited được chọn, sau đó nhấp vào Tiếp theo. Excel sẽ hiển thị hộp thoại Bước 2/3.
-
Đảm bảo rằng bạn chỉ định một dấu gạch ngang làm dấu phân cách. (Bạn sẽ cần nhấp vào Khác và sau đó nhập dấu gạch ngang làm dấu phân cách.)
-
Nhấp vào Kết thúc. Tệp của bạn được nhập và bị ngắt ở dấu gạch ngang, giống như bạn muốn.
Các bước trên khá dễ thực hiện, đặc biệt nếu thỉnh thoảng bạn chỉ cần đưa danh sách tệp vào Excel. Nếu bạn cần làm điều đó thường xuyên hơn, thì có lẽ bạn nên tìm cách thực hiện bằng cách sử dụng macro. Macro sau sẽ hoạt động rất nhanh:
Sub GetFileNames() Dim sPath As String Dim sFile As String Dim iRow As Integer Dim iCol As Integer Dim splitFile As Variant 'specify directory to use - must end in "\" sPath = "C:\" iRow = 0 sFile = Dir(sPath) Do While sFile <> "" iRow = iRow + 1 splitFile = Split(sFile, "-") For iCol = 0 To UBound(splitFile) Sheet1.Cells(iRow, iCol + 1) = splitFile(iCol) Next iCol sFile = Dir ' Get next filename Loop End Sub
Khi bạn chạy macro, hãy đảm bảo rằng không có gì trong trang tính hiện tại. (Mọi thứ ở đó sẽ bị ghi đè.) Ngoài ra, bạn nên thay đổi đường dẫn thư mục được gán cho biến sPath ở gần phần đầu của macro.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (11144) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: