========================================================================================
현재 사용하는 엑셀 버젼을 기재하시면 좀더 정확하고 신속한 답변을 얻으실 수 있습니다.
엑셀 버젼(예: 2007) :
========================================================================================
안녕하세요?
예전에 보내주셨던 Code 에서 질문 있습니다.
거래처에서 daily report를 메일로 받고 있는데 문서형태가 HTML 입니다.
아래 코드는 필요한 필드만 가져오는 코드입니다.
HTML 문서 참조할수 있을까요?
개념을 잘 몰라서요...
그리고 for next 문장에서 가져온 필드의 내용으로
엑셀함수 Vlookup를 사용하여 추가필드를 생성하고 싶어요.
감사합니다.
sales data_daily.xlsm
Sub Zuellig()
Dim i As Long
Dim k As Long
Dim strFile As String, PS As String
Dim VarData() As Variant
Dim strPath As String
PS = Application.PathSeparator
strPath = ThisWorkbook.Path & PS & "Original_data" & PS
strFile = Dir(strPath & "*.xls*")
' 위 내용에서 HTML 문서를 참조할 수 있는 방법 문의!!
' 아래 내용처럼 Clear 하는 방법!!
Sheets("sheet2").Select
Range("A1:J1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("k3:m3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
Workbooks.Open strPath & strFile
With ActiveWorkbook.ActiveSheet
k = Application.WorksheetFunction.CountA(.Range("a4:a999999"))
ReDim Preserve VarData(k, 10)
For i = 0 To k - 1
VarData(i, 0) = .Range("A4").Offset(i) ' 거래일자
VarData(i, 1) = .Range("I4").Offset(i) '거래처코드
VarData(i, 2) = .Range("J4").Offset(i) '거래처명
VarData(i, 3) = .Range("N4").Offset(i) '주소
VarData(i, 4) = .Range("H4").Offset(i) '우편번호
VarData(i, 5) = .Range("P4").Offset(i) '품목코드
VarData(i, 6) = .Range("S4").Offset(i) '수량
VarData(i, 7) = .Range("T4").Offset(i) '단가
VarData(i, 8) = .Range("U4").Offset(i) '금액
VarData(i, 9) = .Range("AB4").Offset(i) '담당자
Next i
End With
ActiveWorkbook.Close
Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(0).Resize(k, 10).Value = VarData
k = 0
Erase VarData
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
Sheets("sheet2").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 5), TrailingMinusNumbers:=True
End Sub
첫댓글 안녕하세요? [ITX청춘]님...
html 파일을 VBA로 직접제어하지 마시고...
html 파일을 엑셀에서 불러들여 다른이름으로 저장을 통해 *.xlsx 파일로 저장한후에...
특정폴더에 두고 실행하시면 되지 않을까요?
그럼 잘 해결되시길... ^^*
예, 그렇게 해야겠네요.
VBA에서 Vlookup 사용하는 방법좀 알려주세요.
부탁드려요.