Bạn có thể sử dụng một cột Listbox đa để hiển thị dữ liệu.
LOGIC
- nhập văn bản (CSV) trong bảng tạm
- Chứng minh rằng dữ liệu trong Listbox multicolumn
- Xóa bảng tạm thời trong trường hợp UserForm dỡ bỏ
Nhập tệp văn bản (Csv) vào trang tính tạm thời
Private Sub CommandButton1_Click()
Dim wb As Workbook, wbTemp As Workbook
Dim wsTemp As Worksheet
Set wb = ThisWorkbook
Set wbTemp = Workbooks.Open("C:\MyCsv.Csv")
wbTemp.Sheets(1).Copy After:=wb.Sheets(wb.Sheets.Count)
Set wsTemp = ActiveSheet
wbTemp.Close SaveChanges:=False
End Sub
Và bây giờ bạn có thể hiển thị dữ liệu đó trong hộp danh sách đa hướng.
Hiện dữ liệu đó trong Listbox multicolumn
Tôi lấy một ví dụ về 3 Cột và lên đến kéo 20. Thay đổi có thể áp dụng
Private Sub CommandButton1_Click()
Dim wb As Workbook, wbTemp As Workbook
Dim wsTemp As Worksheet
Set wb = ThisWorkbook
Set wbTemp = Workbooks.Open("C:\MyCsv.Csv")
wbTemp.Sheets(1).Copy After:=wb.Sheets(wb.Sheets.Count)
Set wsTemp = ActiveSheet
wbTemp.Close SaveChanges:=False
With ListBox1
.ColumnCount = 3
.ColumnWidths = "50;50;50"
.RowSource = wsTemp.Range("A1:C20").Address
End With
End Sub
SCREENSHOT

Xóa trang tính tạm thời trong sự kiện tải xuống Userform
Để xóa bảng tạm thời, hãy khai báo wsTemp
ở đầu mã để bạn có thể truy cập vào sự kiện UserForm_QueryClose
. Xem ví dụ hoàn chỉnh này
Option Explicit
Dim wsTemp As Worksheet
Private Sub CommandButton1_Click()
Dim wb As Workbook, wbTemp As Workbook
Set wb = ThisWorkbook
Set wbTemp = Workbooks.Open("C:\MyCsv.Csv")
wbTemp.Sheets(1).Copy After:=wb.Sheets(wb.Sheets.Count)
Set wsTemp = ActiveSheet
wbTemp.Close SaveChanges:=False
With ListBox1
.ColumnCount = 3
.ColumnWidths = "50;50;50"
.RowSource = wsTemp.Range("A1:C20").Address
End With
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.DisplayAlerts = False
wsTemp.Delete
Application.DisplayAlerts = True
End Sub
HTH
Nguồn
2012-11-23 13:15:04