Skip to content
조회 수 30512 추천 수 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
번호 분류 제목 날짜 조회 수
26 AutoHotKey ahk) autohotkey 엑셀(Excel)에서 행값 증가시키기 2013.10.30 37410
25 Excel Excel) 엑셀에서 셀 입력시 자동 추가글 넣기 file 2013.06.09 24061
24 Excel 현재 Excel 파일 이름을 셀에 삽입 2 2012.09.17 24551
23 Excel [excel] GET.CELL사용법 8 2012.07.16 26573
22 Excel PDF, EXCEL 파일 변환 1 2012.06.30 19784
21 Excel MS Office 2007 Excel 최근 문서 목록 삭제하기 1 2012.02.13 22226
20 Excel Excel Vba) 현재 셀에서 한줄내림 (activecell.offset(1,0).Select) 3 2012.01.05 30982
19 Excel Excel Vba) 셀의 행, 열(column, row) 주소 알아내기 또는 삽입하기 더불어 제어하기 2012.01.05 42946
18 Excel Excel) 엑셀 콤보박스 대화상자 목록지정하기 2011.12.21 29390
17 컴퓨터잡담 Excel VBA) 파일 이름에 따라 이미지 출력 4 2011.11.25 16207
16 컴퓨터잡담 Excel VBA) 선택값에 따라 결과값 전달하기 CASE문 1 4 2011.10.25 14747
15 컴퓨터잡담 Excel VBA (1): 셀 선택 및 변수 및 비활성시트 컨트롤하기 3 2011.10.24 24995
14 컴퓨터잡담 Excel VBA) DAO를 이용하여 엑셀문서 열지않고 데이타 가져오기 3 8 2011.10.23 18264
13 컴퓨터잡담 Excel VBA) Delete Column Excel VBA - 칼럼 지우기 2011.10.23 16349
12 컴퓨터잡담 Excel VBA)OpenDatabase 방법 [Excel 2003의 VBA 언어 참조] 3 2011.10.23 13884
» 컴퓨터잡담 eXCEL VBA)엑셀파일 열지않고 내용 불러오기 3 2011.10.23 30512
10 컴퓨터잡담 Excel VBA) 자주쓰는 함수모음 3 2011.10.17 21649
9 컴퓨터잡담 Excel VBA) 엑셀 데이터 범위 찾아내기 1 2011.10.14 15265
8 컴퓨터잡담 Excel VBA) 원하는 범위 지정한 뒤 복사하여 붙여넣기 2 2011.10.14 29379
7 컴퓨터잡담 Excel VBA) 자료모으기 2011.09.28 11903
Board Pagination Prev 1 2 Next
/ 2

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소