उपयोग कर रहा हूँ।
लॉजिक
- आयात पाठ (CSV) अस्थायी शीट में फ़ाइल
- दिखाओ कि एकाधिक लिस्टबॉक्स
- में डेटा UserForm अनलोड घटना में अस्थायी पत्रक हटाएं
अस्थायी शीट में पाठ (सीएसवी) फ़ाइल आयात करें
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
और अब आप उस डेटा को मल्टीकॉलम सूचीबॉक्स में प्रदर्शित कर सकते हैं।
दिखाएँ कि एकाधिक लिस्टबॉक्स
मैं 3 कॉलम का एक उदाहरण है और ऊपर टो तक लागू
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 के रूप में 20. बदलें ले रहा हूँ में डेटा

UserForm अनलोड घटना
में अस्थायी पत्रक हटाएं अस्थायी चादर हटाने के लिए, कोड की चोटी पर wsTemp
घोषित ताकि आप UserForm_QueryClose
स्थिति में पहुँच सकते हैं। यह पूरा उदाहरण देखें
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
स्रोत
2012-11-23 13:15:04