2016-07-18 2 views
0

여기에 런타임 오류 9에 대한 기사를 많이 읽었지만 내 경우에 적용되는 방식을 이해하지 못했습니다. 나는 VBA에 대해서도 매우 익숙하다. 왜냐하면 이것이 기본과 관련이 있다면 ...VBA 오류 9 해결책을 찾을 수 없습니다.

어쨌든, 범위 ("A39 : D39")를 다음 중 하나 다른 시트의 표. 어떤 테이블 (특별히 테이블로 포맷되지 않은)은 사용자가 목록 상자에 입력 한 내용에 따라 다릅니다.

Sub ListBoxValue_Method3() 

    Worksheets("Calculations").Activate 

    Dim lbValue As Integer 

    lbValue = Worksheets("Calculations").ListBoxes("List Box 8").Value 

    Worksheets("Calculations").Range("A39:D39").Copy 


Select Case lbValue 

    Case 1 

    Worksheets("Dashboard").Range("B" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues 

    Case 2 

    Worksheets("Dashboard").Range("H" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues %%%%%ERROR HERE%%%%% 

    Case 3 

    Worksheets("Dashboard").Range("N" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues 

    Case Else 

    MsgBox ("Check input") 

End Select 


End Sub 

오류는 다음과 같습니다 : 나는 엑셀 2016 (365)를 사용하고

Run-time error '9': 

Subscript out of range 

여기 내 코드입니다. 미리보기에 시간을 할애 해 주실 분은 미리 감사드립니다.

+0

사례 2의 경우에만 오류가 발생합니까? –

+0

예, 변경하려고했기 때문에 목록 상자에서 선택된 메뉴 항목에 종속되지 않으며 그 자리에서 여전히 오류가 발생합니다. –

+0

다음 번에 오류가 발생하면 확인을 클릭 한 다음 Ctrl + G를 눌러 직접 실행 창을 가져옵니다. 그 창에서 이것을 넣으십시오 :'? 범위 ("H"및 행. 개수). 끝 (xlUp). 오프셋 (1, 0). 주소 .' 출력 결과를 알려주십시오. – Vegard

답변

0

MAC을 사용하는 것 같습니다. 그렇지 않습니다.

하지만이 코드는 항상 내가 당신의 "목록 상자 8"목록 상자를 가정

Sub ListBoxValue_Method3() 
    Dim lbValue As Integer 

    With Worksheets("Calculations") 
     lbValue = .OLEObjects("List Box 8").Object.value 

     With .Range("A39:D39") 
      Select Case lbValue 
       Case 1 
        Worksheets("Dashboard").Range("B" & Rows.Count).End(xlUp).offset(1, 0).Resize(, .Columns.Count).value = .value 
       Case 2 
        Worksheets("Dashboard").Range("H" & Rows.Count).End(xlUp).offset(1, 0).Resize(, .Columns.Count).value = .value 
       Case 3 
        Worksheets("Dashboard").Range("N" & Rows.Count).End(xlUp).offset(1, 0).Resize(, .Columns.Count).value = .value 
       Case Else 
        MsgBox ("Check input") 
      End Select 
     End With 
    End With 
End Sub 

는 "액티브"하나

+0

입력 해 주셔서 감사합니다. 그러나 양식 컨트롤을 사용했습니다. 틀렸어? –

+0

Mac에서 방금 ActiveX 컨트롤이 가능하지 않습니다. –

0

을 시도 할 줄 수 확실히 시트의 이름이 정확한지 - .- '

코드는 문제가 없으며 단지 존재하지 않는 워크 시트입니다.

간단한 것을 놓치면 얼마나 오랜 시간이 걸릴 수 있습니다!

관련 문제