사용하고 있습니다. 임시 시트
LOGIC
- 가져 오기 텍스트 파일 (CSV)는
- 는 여러 열리스트 박스
- 의 데이터가 사용자 정의 폼 언로드 이벤트에 임시 시트를 삭제하는 것이보기
임시 시트에 텍스트 (Csv) 파일 가져 오기
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_QueryClose
경우에 그 액세스 할 수 있도록 코드의 상단에 wsTemp
를 선언, 임시 시트를 삭제하려면 사용자 정의 폼 언로드 이벤트
에 임시 시트를 삭제합니다. 이 완전한 예제를 참조하십시오
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