Option
Explicit
// QueryTable개체를 사용
Public WithEvents qtQueryTable As QueryTable
// 작업 워크시트 멤버
변수
Private m_Sht As Worksheet
Sub InitQueryEvent(QT As Object)
// QueryTable개체변수에 웹쿼리 개체를 지정
Set qtQueryTable = QT
End Sub
Private Sub
qtQueryTable_AfterRefresh(ByVal Success As Boolean)
// 쿼리 갱신후 이벤트 프로시져
// Success는 쿼리의 성공여부를 알려주는 매개변수임
// 쿼리가 성공하면 qtQueryTableCopy 프로시져를 호출하여
// 다른 셀 영역에 복사함
If Success Then Call qtQueryTableCopy
End Sub
Private Sub qtQueryTableCopy()
// 쿼리복사 프로시져
Dim row As Long
Dim rngSrc As Range
Dim rngTarget As Range
// 복사할 행의 위치
row = m_Sht.Range("A65536").End(xlUp).row + 1
// 원본 쿼리영역중 복사할 부분
Set rngSrc = m_Sht.Range("A4:G4")
// 붙여 넣을 영역
Set rngTarget = m_Sht.Range(m_Sht.Cells(row, 1),
m_Sht.Cells(row, 1))
// Range개체의 Copy메소드를 사용하여 복사한다
rngSrc.Copy Destination:=rngTarget
End Sub
Public
Property Let Worksheet(ByVal vNewValue As Variant)
// 작업 워크시트 멤버 변수에 해당 워크시트를 지정한다
Set m_Sht = vNewValue
End Property |