Skip to content
조회 수 30518 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

엑셀파일 열지않고 내용 불러오기


방법1. ExecuteExcel4Macro 함수를 통하여 불러오는 방법.

방법2. DAO를 통합 방법.



strpath = ThisWorkbook.Path

Path = Left(strpath, InStrRev(strpath, "\") - 1)
Path = Path & "\";strFile = "파일명.xls"
strSheet = "쉬트명"
strAddress = Cells(X,Y).Address
변수 = ReadValue(Path, strFile, strSheet, strAddress)


펑션
Function ReadValue(Path, File, sht, Rng) As Variant
Dim Msg As String
Dim strTemp As String
If Trim(Right(Path, 1)) <> "\" Then Path = Path & "\"
'데이터가 있는 원본 파일이 없으면 에러를 표시 매크로를 종료.
If Dir(Path & File) = "" Then;ReadValue = "해당 파일이 없습니다"
Exit Function
End If
Msg = "'" & Path & "[" & File & "]" & sht & "'!" & Range(Rng).Range("a1").Address(, , xlR1C1);ReadValue = ExecuteExcel4Macro(Msg)
End Function

은근 쓸일이 많은 옵션



http://blog.naver.com/PostView.nhn?blogId=maxzon&logNo=70110710713


Option Explicit

Sub File_Read()


'쓰여질 변수 설정, 어떨땐 필요하나 싶다.

Dim lngCount As Long

Dim varData(1 To 2, 1 To 2) As Variant

Dim i As Long, j As Long, k As Long

Dim varArray As Variant

Dim strFileName As String, strTemp As String, strPath As String, strArg As String


'파일 불러오기(*.xls를 *.csv 등으로 변경도 가능하겠지.

    varArray = Application.GetOpenFilename("ExcelFile *.xls,*.xls", _

       Title:="집계할 엑셀 파일들을 Shift버튼을 눌러 모두 선택하십시오!", MultiSelect:=True)

       

       

    If TypeName(varArray) = "Boolean" Then Exit Sub

    lngCount = UBound(varArray)

    strTemp = varArray(1)

    strPath = Left$(strTemp, Len(strTemp) - Len(Dir(strTemp)))

    

    

    For i = 1 To lngCount '조회할 문서의 수만큼 횟수를 실행하겠다는 의미

      strFileName = Dir(varArray(i))

      

      

'j와 k는 A1:B2(A1,B1,A2,B2) 까지의 범위를 의미한다.

'즉, j는 A,b,c 등의 열을, k는 1,2,3 등의 행을 의미하는 것.

      

      For j = 1 To 2

      

        For k = 1 To 2

          strArg = "'" & strPath & "[" & strFileName & "]" & "Sheet1" & "'!" & _

            Range(Cells(j, k).Address).Address(ReferenceStyle:=xlR1C1)

            '위 빨간색부분이 Sheet1시트의 A1:B2영역을 의미하게 된다.


          varData(j, k) = Application.ExecuteExcel4Macro(strArg)

        Next k

      Next j

      Cells((i - 1) * 4 + 1, 1) = strTemp & " 의 내용"

      Range(Cells((i - 1) * 4 + 2, 1), Cells((i - 1) * 4 + 3, 2)) = varData

    Next i

End Sub



로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
157 컴퓨터잡담 G-PON 시스템의 이해 11 2010.12.17 9747
156 컴퓨터잡담 Full HD Digital TV 1080i 와 1080p 차이점 file 2013.05.10 13247
155 컴퓨터잡담 FTP 자동 업로드 사용방법 2 2012.03.26 5573
154 컴퓨터잡담 float 문제, Image 밑으로 본문을 새로 줄바꿈해서 출력하려면. file 2010.12.08 5044
153 Server FileZilla FTP SERVER 패시브모드 셋팅방법 file 2016.12.22 8780
152 WindowsTip Fasoo DRM 삭제하기(fph) file 2015.04.13 10645
151 프로세스 EzClick.exe / ezbho.dll 프로세스 삭제방법 2 2011.02.13 18612
150 [Docs]스프레드시트 Extending Google Sheets 2015.02.10 4646
149 WindowsTip exFAT 이동식 USB 하드 쓰기 금지 문제 해결방법 2015.01.22 3108
148 컴퓨터잡담 Excel에서 틀 고정 방법 2010.09.04 18628
147 Excel Excel) 엑셀에서 셀 입력시 자동 추가글 넣기 file 2013.06.09 24062
146 Excel Excel) 엑셀 콤보박스 대화상자 목록지정하기 2011.12.21 29390
145 컴퓨터잡담 EXCEL) 매크로 공부하기 2011.09.25 12280
» 컴퓨터잡담 eXCEL VBA)엑셀파일 열지않고 내용 불러오기 3 2011.10.23 30518
143 컴퓨터잡담 Excel VBA)OpenDatabase 방법 [Excel 2003의 VBA 언어 참조] 3 2011.10.23 13884
142 Excel Excel Vba) 현재 셀에서 한줄내림 (activecell.offset(1,0).Select) 3 2012.01.05 31020
141 컴퓨터잡담 ExCEL VBA) 함수만들기 1 2011.09.25 13970
140 컴퓨터잡담 ExCEL VBA) 파일을 열지않고 값 읽어오기 23 2011.09.25 20215
139 컴퓨터잡담 Excel VBA) 파일 이름에 따라 이미지 출력 4 2011.11.25 16207
138 컴퓨터잡담 ExCEL VBA) 중복된 데이터 추출하기 4 2011.09.25 20196
Board Pagination Prev 1 ... 37 38 39 40 41 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소