>source

Private Sub CommandButton1_Click()
Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet
Set wkb = Workbooks("asd.xlsx")
Set wks = wkb.Worksheets("Sheet1")
Sheets("Sheet1").Shapes.AddChart.Chart.SetSourceData Source:=wks.Range("A1:B98")
End Sub

이것은 동일한 폴더에있는 다른 통합 문서의 데이터를 사용하여 현재 통합 문서에 간단한 차트를 만들기 위해 작성한 코드입니다. 상대 경로가 동일하더라도 프로그램은 존재하지 않는 파일을 참조하고 있다는 런타임 오류 9를 반환합니다. 나는 심지어 절대 경로를 wkb 변수이지만 거기에서도 작동하지 않습니다.

이것에 대한 도움이 있습니까? TIA.

  • 답변 # 1

    그래서 제가이 문제를 해결 한 주된 이유는 Excel을 그래프를 그리는 동안 다른 통합 문서와 그래프를 활성화 할 통합 문서를 열어야한다는 것입니다. 그래서 다른 통합 문서를 열도록 코드를 수정하고 그래프를 플로팅하는 통합 문서를 활성화하고 그래프를 닫은 다음 닫습니다.

    target_workbook.xlsm 그래프를 그려야하는 통합 문서입니다. asd.xlsx 데이터가 포함 된 통합 문서입니다.

    Private Sub CommandButton1_Click()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim rng As Range
    Workbooks.Open "C:\full_path_to_file\asd.xlsx"
    Workbooks("target_workbook.xlsm").Activate
    Set wb = Workbooks("asd.xlsx")
    Set ws = wb.Worksheets("Sheet ABC")
    Set rng = ws.Range("F3:F98,H3:H98")
    MsgBox ("Test-1!")
    Set chrt = Sheets("Sheet1").ChartObjects.Add(Left:=5, Width:=600, Top:=7, Height:=350)
    chrt.Chart.SetSourceData Source:=rng
    chrt.Chart.ChartType = xlLine
    MsgBox ("test-2")
    Workbooks("asd").Close SaveChanges:=False
    End Sub
    
    

관련 자료

  • 이전 javascript - JQuery 번역기
  • 다음 sensors - Cwiid Python을 사용하는 Wiimote Motion Plus의 Pitch 및 Yaw