나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  2
파일:     파일열지않고 자료불러오_Ans.xlsm (29.8KB) 조회:  1468
제목:   [RE]동일폴더 내 동일양식 시트 자료 불러오기
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(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
 
[불량 게시물 신고]  
김영환많은 도움주셔 감사합니다.
10-01 (23:41)
삭제 ■신고
        
  

작성일 : 2019-09-27(10:16)
최종수정일 : 2019-09-27(10:16)
 


 ◎ 관련글

  제 목   작성자   날짜
동일폴더 내 동일양식 시트 자료 불러오기 김영환 2019-09-26
[RE]동일폴더 내 동일양식 시트 자료 불러오기 dew 2019-09-27