Skip to content
조회 수 30514 추천 수 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
번호 분류 제목 날짜 조회 수
597 컴퓨터잡담 Excel VBA) 원하는 범위 지정한 뒤 복사하여 붙여넣기 2 2011.10.14 29384
596 컴퓨터잡담 Excel VBA) 엑셀 데이터 범위 찾아내기 1 2011.10.14 15265
595 컴퓨터잡담 Excel VBA) 자주쓰는 함수모음 3 2011.10.17 21676
» 컴퓨터잡담 eXCEL VBA)엑셀파일 열지않고 내용 불러오기 3 2011.10.23 30514
593 컴퓨터잡담 Excel VBA)OpenDatabase 방법 [Excel 2003의 VBA 언어 참조] 3 2011.10.23 13884
592 컴퓨터잡담 Excel VBA) Delete Column Excel VBA - 칼럼 지우기 2011.10.23 16349
591 컴퓨터잡담 Excel VBA) DAO를 이용하여 엑셀문서 열지않고 데이타 가져오기 3 8 2011.10.23 18269
590 컴퓨터잡담 Excel VBA (1): 셀 선택 및 변수 및 비활성시트 컨트롤하기 3 2011.10.24 24998
589 컴퓨터잡담 Excel VBA) 선택값에 따라 결과값 전달하기 CASE문 1 4 2011.10.25 14771
588 컴퓨터잡담 엑셀 VBA) Shell로 외부프로그램 호출 2011.11.07 12690
587 컴퓨터잡담 XyView DVR 공유기 설정방법 2011.11.17 5907
586 컴퓨터잡담 컴퓨터 각종 드라이버 2011.11.24 4112
585 컴퓨터잡담 엑셀 파일 편집기 - 리눅스, 윈도우용(Gnumeric Spreadsheet) 3 2011.11.24 7056
584 컴퓨터잡담 Excel VBA) 파일 이름에 따라 이미지 출력 4 2011.11.25 16207
583 프로세스 Spoo1sv.exe 바이러스 치료하기 1 12 2011.11.28 19178
582 AutoHotKey autohotkey) 웹페이지의 프레임 내용보기 & 클릭하기 2011.11.29 15147
581 컴퓨터잡담 윈도우 시스템 파일 콘솔복원 2 2011.11.30 5166
580 컴퓨터잡담 공유기에서 여러명이 mstsc 원격제어 사용하는 방법 2 2011.12.07 7013
579 컴퓨터잡담 네트워크 연결 방법 / 네트워크 무선네트워크 탭이 없어졌습니다? 1 2011.12.12 7820
578 컴퓨터잡담 변종 맥중복 바이러스 증상과 대처방법 2 2011.12.14 8508
Board Pagination Prev 1 ... 15 16 17 18 19 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소