2013-05-05 4 views
2
엑셀 범위를 설정할 때

I가 내 서브의 일부 범위 지정하려고으로 다음 코드를 VBA 형식 불일치 오류 워드

'Set xlApp = CreateObject("Excel.Application") 

Dim xlApp As Object 
Set xlApp = GetObject(, "Excel.Application") 
xlApp.Visible = False 
xlApp.ScreenUpdating = False 

Dim CRsFile As String 
Dim CRsMaxRow As Integer 

' get the CR list 
CRsFile = "CRs.xls" 
Set CRsWB = xlApp.Workbooks.Open("C:\Docs\" + CRsFile) 
With CRsWB.Worksheets("Sheet1") 
    .Activate 
    CRsMaxRow = .Range("A1").CurrentRegion.Rows.Count 

    Set CRs = .Range("A2:M" & CRsMaxRow) 

End With 

Dim interestingFiles As Range 

' get the files names that we consider interesting to track 
Set FilesWB = xlApp.Workbooks.Open("files.xlsx") 
With FilesWB.Worksheets("files") 
    .Activate 
    Set interestingFiles = .Range("A2:E5") 
End With 

당신은 내가 런타임 유형 불일치를 받고있는 이유 어떤 생각을 가지고 있습니까를 오류?

답변

0

다음 코드와 같이 xlApp 객체를 적절하게 설정하십시오. 또한 통합 문서를 열 때 통합 문서의 전체 경로를 제공합니다.

+0

엑셀 참조없이

존재하지 않으면'Set FilesWB = ...'에 오류가 발생하지만 OP는 "범위를 설정하는 중"불일치 오류를 표시합니다. 그'With' 블록 안에는 아무것도 보이지 않습니다. –

+0

@DavidZemens 당신은'xlApp.Workbooks.Open ("files.xlsx")'이 문제라고 생각합니까? – Santosh

+0

m 코드 전체 경로를 넣었습니다. 나는 웹에서 그것을 부끄럽게 여기지 않을 것 같았습니다. – banjo

2

Word에서 코드를 실행하면 'interestingFiles'변수가 선언됩니다. 범위가 Word에도 존재하므로 Variant를 사용하거나 Excel에 참조를 추가 한 다음 Excel.Range를 사용하십시오.

Dim interestingFiles As Variant 

그리고 엑셀 참조 :은`xlApp` 나는`424 개체 required` 오류를 기대하거나 파일 '아무튼 경우 줄을 설정하지 않고

Dim interestingFiles As Excel.Range 
+0

아, 문제의 근원이 될 수 있습니다. OP는이 응용 프로그램이이 서브 루틴을 실행하고 있다고 말하지 않았지만 이는 의미가 있습니다. –

+0

Word에서 문제가 해결 될 것임을 확인했습니다 :) 잘 했어! –