2013-10-28 4 views
1
나는 다음과 같은 코드에 문제가 있어요 코드의 굵은 줄에 형식 불일치 오류가 발생하고

를 입력 :실행 시간 오류 13 : 불일치

Private Sub CommandButton3_Click() 
    Application.ScreenUpdating = False 
    Dim p 
    Dim ActivePrinter 
    Dim Sheets 

    p = Application.ActivePrinter 
    ActivePrinter = ("Send to OneNote 2010") 

    **Sheets(Array("R-Overview", "R-Savings", "R-Table")).PrintOut , , 1** 

    End Sub 

답변

2

당신은/생성이 같은 배열을 전달할 수 없습니다. 이

Private Sub CommandButton3_Click() 
    Application.ScreenUpdating = False 

    Dim p 
    Dim ActivePrinter 
    Dim shtsArray(1 To 3) As String 

    p = Application.ActivePrinter 
    ActivePrinter = ("Send to OneNote 2010") 

    shtsArray(1) = "R-Overview" 
    shtsArray(2) = "R-Savings" 
    shtsArray(3) = "R-Table" 

    Sheets(shtsArray).PrintOut , , 1 

    Application.ScreenUpdating = True 
End Sub 

ONE MORE WAY (이 시도하고 테스트)보십시오

Private Sub CommandButton3_Click() 
    Application.ScreenUpdating = False 

    Dim p 
    Dim ActivePrinter 
    Dim shtsArray 
    Dim sheetNames As String 

    p = Application.ActivePrinter 
    ActivePrinter = ("Send to OneNote 2010") 

    sheetNames = "R-Overview,R-Savings,R-Table" 
    shtsArray = Split(sheetNames, ",") 

    Sheets(shtsArray).PrintOut , , 1 
End Sub 
+0

"런타임 오류 '1004': 응용 프로그램 정의 또는 개체 정의 오류"두 번째 마지막 줄에 나타납니다. –

+0

방금 ​​테스트 해본 결과 작동합니다. –

+0

방금 ​​업데이트 한 두 번째 방법을 시도해보십시오. –

0

으로는 here 코드가 작동했다.

Sheets 변수가 변형으로 선언되었으므로 수정 된 코드에서 유형 불일치 오류가 발생합니다. 간단히 제거하면 코드가 다시 작동합니다.

관련 문제