|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
* 아래줄에 질문을 작성하세요 >>
VBA팁란에 님께서 올리신 예제를 보면 엑셀파일을 열지않고 데이터를 가져오는 예제가
있어 이것을 응용하여 다른것을 만들어 보고싶은데요.
잘되지 않아요....
님께서 올리신 예제는 여러셀을 지정하여 지정된 셀값을 가져오도록 되어있는데
특정시트의 내용 전체를 가져오고 싶은 데요 어느부분을 수정하여야 하는지 한번
부탁을 드립니다.
(예제 내용중 일부)
Sub dhGetDataSheet(strF As String) '데이터 읽어와 집계하기
Dim i As Integer
Dim strH As String
Dim strValue(1 To 11) As String
Dim strK As String
Dim strQ As String
Dim rngTo As Range
Dim rngF As Range
strH = Left(strF, InStr(strF, ".") - 1)
strValue(1) = strH
For i = 2 To 11
strK = Choose(i, "", "H4", "C3", "C4", "E4", "G5", "G6", "C7", "B21", "E21", "B22")
strValue(i) = GetValue(strF, strK)
Next i
Set rngF = ThisWorkbook.Worksheets("전체").Columns(2).SpecialCells(xlTextValues).Find(what:=strH, LookIn:=xlValues, lookat:=xlWhole)
If Not rngF Is Nothing Then '이미 같은 이름의 학교가 등록된 경우
strQ = strH & "(은)는 이미 등록되어 있는 학교입니다"
strQ = strQ & vbCr & "덮어쓰시려면 예를"
strQ = strQ & vbCr & "추가하시려면 아니오를"
strQ = strQ & vbCr & "취소하시려면 취소를 누르세요"
strQ = MsgBox(strQ, vbYesNoCancel, N_1)
Select Case strQ
Case vbYes: Set rngTo = rngF.Offset(0, -1)
Case vbNo: Set rngTo = ThisWorkbook.Worksheets("전체").Cells(65536, 2).End(xlUp)(2).Offset(0, -1)
Case Else: Exit Sub
End Select
Else
Set rngTo = ThisWorkbook.Worksheets("전체").Cells(65536, 2).End(xlUp)(2).Offset(0, -1)
End If
With rngTo
Range(.Offset(0, 1), .Offset(0, 11)) = strValue
End With
Set rngTo = Nothing
End Sub
Private Function GetValue(strFile As String, ref As String) As String
'닫혀진 엑셀 파일의 자료 읽기
Dim arg As String
If Dir(myPath & strFile) = "" Then
GetValue = "File Not Found"
Exit Function
End If
arg = "'" & myPath & "[" & strFile & "]" & shtName & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
On Error GoTo e1
GetValue = CStr(Application.ExecuteExcel4Macro(arg))
Exit Function
e1:
GetValue = ""
End Function
제가 원하는 시트에 값은 다음과 같은데요...
Sheet1의
Range("A4:AP4").Select
Range(Selection, Selection.End(xlDown)).Select
다시한번 부탁을 드립니다. |
|