Skip to content
조회 수 30517 추천 수 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
번호 분류 제목 날짜 조회 수
2344 종교와철학 "박근혜 '애' 낳는 그림 그린 홍씨, 누군가 자신의 어머니를 저런식으로 그렸다면? file 2012.11.19 6344
2343 AutoHotKey #ifwinactive & #ifwinexist 윈도우창 마다 핫키의 용도를 다르게 사용하는 방법 2011.02.14 16522
2342 만들기 <!--f644fe64217d47f8abef1fe9b7150c48--> secret 2010.10.29 3949
2341 Excel 'C:Documents.xlsx' 을(를) 찾을 수 없습니다. 라는 오류 메시지가 나오는 경우 대처방법 2015.01.28 4769
2340 유용한상식 '작업의 정석' 과외받는 남자들 12 2013.03.04 7135
2339 WindowsTip (nPDF) 프린터 인쇄 내용을 PDF 파일로 변환하기 2015.01.24 2273
2338 재미재미 (쇼킹한 음료광고)Thailand funny slimming greentea commercial 1 2 2012.08.25 5554
2337 일상 (펌)개성공단에서 4월 13일 나온 근무자입니다 2013.04.17 20468
2336 유용한상식 (해외송금)SWIFT 국민은행 송금 및 은행별 SWIFT CODE LIST 2014.02.03 17062
2335 재미재미 * 바람피운 남편을 어떻게...* 2010.12.19 5309
Board Pagination Prev 1 2 3 4 5 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소