|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):2013
* 아래줄에 질문을 작성하세요 >>
동일폴더에 있는 여러파일(동일양식의 여러시트 존재) 중 각 파일의 특정시트(예 : 주소록시트)의 자료를 별도 파일에 값(매크로 등)으로 가져오려 합니다.
기존에는 각 파일의 시트에 연결해 작업하니 어려움이 많아 고수님들의 도움을 요청드립니다.
==============[김영환님 글에 대한 답변입니다]==============
첨부화일 참고하세요...
Sub UserDataIntegration()
Dim wst As Worksheet
Dim rTg As Range
Dim lRow As Long, lCol As Long
Dim iX As Integer, iY As Integer
Dim sFold As String, sFileName As String, sSheetName As String
Dim sFormula As String
Set wst = ActiveSheet
Set rTg = wst.Range("A7") ' 기록할 시작 위치
rTg.CurrentRegion.Offset(1).Clear ' 기존자료 지우기
sFold = wst.Cells(1, 2) ' 폴더위치
If Right(sFold, 1) <> "\" Then sFold = sFold & "\"
sSheetName = wst.Cells(2, 2) ' 시트명
lRow = 1
sFileName = Dir(sFold & "*.xls*") ' 파일명
Do While sFileName <> ""
rTg(lRow, 1) = sFileName
For iX = 0 To 4
For iY = 2 To 5
sFormula = "='" & sFold & "[" & sFileName & "]" & sSheetName & "'!" & wst.Cells(iX + 7, iY).Address
With rTg(lRow + iX, iY)
.Value = sFormula
.Calculate
.Value = .Value
End With
Next
Next
lRow = lRow + iX
sFileName = Dir()
Loop
End Sub
|
|