그냥 input 을 사용하면 한글의 경우엔 에러가 난다.
숫자와 영문자는 1바이트를, 한글은 2바이트를 불러오기에 발생하는 에러.
StrConv(InputB(LOF(1), 1), vbUnicode) 라는 코드를 이용해 에러를 방지.
무슨 뜻인지는 모르겠지만 일단은..
Sub getAdd() Dim rngImport As Range Dim strFilter As String Dim strFile As Variant Dim i As Integer, j As Integer Dim varAdd As Variant Dim varA As Variant '변수설정 ChDir ThisWorkbook.Path Set rngImport = Range("A1") strFilter = "텍스트파일 (*.txt), *.txt" '기존자료 삭제 후 텍스트파일 불러오기 With rngImport .CurrentRegion.ClearContents .Resize(, 3) = Array("이름", "주소", "우편번호") End With strFile = Application.GetOpenFilename(FileFilter:=strFilter, Title:="파일 선택", MultiSelect:=False) '파일선택 취소하면 매크로 종료 If TypeName(strFile) = "Boolean" Then Exit Sub Open strFile For Input As #1 '텍스트 파일을 배열에 삽입(한글이라 설정을 더 해줘야함) varAdd = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbLf) Close #1 '셀에 배열 입력 i = 2 j = 1 For Each varA In varAdd Cells(i, j) = varA j = j + 1 If j = 4 Then i = i + 1 j = 1 End If Next varAEnd Sub cs
'VB(A)' 카테고리의 다른 글
그룹별 오름차순 정렬 v2 (0) | 2015.07.27 |
---|---|
다른 엑셀파일의 데이터 가져오기 (2) | 2015.05.16 |
2중 VLOOKUP (0) | 2015.05.15 |
그룹으로 내림차순 (0) | 2015.05.15 |
셀 안의 문자열 삭제 (0) | 2015.05.03 |