Skip to content
조회 수 30519 추천 수 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
번호 분류 제목 날짜 조회 수
337 컴퓨터잡담 윈도우 시스템 파일 콘솔복원 2 2011.11.30 5167
336 AutoHotKey autohotkey) 웹페이지의 프레임 내용보기 & 클릭하기 2011.11.29 15147
335 프로세스 Spoo1sv.exe 바이러스 치료하기 1 12 2011.11.28 19179
334 컴퓨터잡담 Excel VBA) 파일 이름에 따라 이미지 출력 4 2011.11.25 16209
333 컴퓨터잡담 엑셀 파일 편집기 - 리눅스, 윈도우용(Gnumeric Spreadsheet) 3 2011.11.24 7059
332 컴퓨터잡담 컴퓨터 각종 드라이버 2011.11.24 4113
331 컴퓨터잡담 XyView DVR 공유기 설정방법 2011.11.17 5908
330 컴퓨터잡담 엑셀 VBA) Shell로 외부프로그램 호출 2011.11.07 12708
329 컴퓨터잡담 Excel VBA) 선택값에 따라 결과값 전달하기 CASE문 1 4 2011.10.25 14771
328 컴퓨터잡담 Excel VBA (1): 셀 선택 및 변수 및 비활성시트 컨트롤하기 3 2011.10.24 25005
327 컴퓨터잡담 Excel VBA) DAO를 이용하여 엑셀문서 열지않고 데이타 가져오기 3 8 2011.10.23 18275
326 컴퓨터잡담 Excel VBA) Delete Column Excel VBA - 칼럼 지우기 2011.10.23 16349
325 컴퓨터잡담 Excel VBA)OpenDatabase 방법 [Excel 2003의 VBA 언어 참조] 3 2011.10.23 13886
» 컴퓨터잡담 eXCEL VBA)엑셀파일 열지않고 내용 불러오기 3 2011.10.23 30519
323 컴퓨터잡담 Excel VBA) 자주쓰는 함수모음 3 2011.10.17 21678
322 컴퓨터잡담 Excel VBA) 엑셀 데이터 범위 찾아내기 1 2011.10.14 15265
321 컴퓨터잡담 Excel VBA) 원하는 범위 지정한 뒤 복사하여 붙여넣기 2 2011.10.14 29391
320 컴퓨터잡담 AHK & my Address of Pointer and my Offset 2011.10.11 13184
319 컴퓨터잡담 Ahk Standard Library Collection, 2010 Sep (+Gui) ~ Libs: 100 3 2011.10.11 14190
318 컴퓨터잡담 엑셀)문자데이터를 날짜 및 시간으로 변경하는 방법(함수) 2011.10.11 6954
Board Pagination Prev 1 ... 28 29 30 31 32 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소