>

사용자 양식을 사용하여 한 통합 문서에서 다른 통합 문서로 값을 복사하고 있습니다.

VBA 복사 부분은 다음과 같습니다.

If Form.ComboBox2.Value <> "" Then
    Set sourceColumn = wb.Worksheets(cmb).Columns("B")
    Set targetColumn = Workbooks("B").ActiveSheet.Columns("A")
    sourceColumn.Copy Destination:=targetColumn

런타임 오류 9가 발생합니다 : Set targetColumn = Workbooks("B").ActiveSheet.Columns("A") 에서 첨자가 범위를 벗어났습니다. .

나는 VBA에서 멍청한 놈이며 독서는 이것이 targetColumn 를 의미한다는 것을 깨달았습니다.  값을 얻지 못했습니다. 그래도 궁금합니다. 무슨 일 이니?

  • 답변 # 1

    디버깅 팁 :

    Set targetColumn = Workbooks("B").ActiveSheet.Columns("A") 전에이 줄을 입력하십시오

    dim aaa as object
    Set aaa = Workbooks("B")
    Set aaa = Workbooks("B").ActiveSheet
    
    

    코드를 다시 실행

    지금 어느 쪽이 실패합니까?

관련 자료

  • 이전 python - 받아쓰기 목록을 단일 사전으로 변환
  • 다음 c++ - 친구 클래스에서 생성자가 private 인 클래스를 인스턴스화 할 수없는 이유는 무엇입니까?