VBA를 사용하여 추가 기능을 만들었습니다.이 기능은 계산이 포함 된 통합 문서입니다. 추가 기능에는 액세스 데이터베이스에서 관련 정보를 추출하고 통합 문서를 채우는 userform이 있습니다. 데이터가 채워지면 계산이 Sheet1에서 수행됩니다. 추가 기능 워크 시트에서 워크 시트 "Sheet1"붙여 넣기 - 추가 기능 매크로를 실행하는 새 통합 문서에합니다.Excel 추가 기능에서 워크 시트를 선택하여 VBA 매크로를 실행하십시오.
그러나 추가 기능을 실행하면 워크 시트가 숨겨져 내 데이터가 업데이트되지 않는 것처럼 보입니다. 이 오류가 발생합니다 : "런타임 오류 '1004': '_Global'개체의 '워크 시트'메서드가 실패했습니다".
누군가 필요한 계산이 수행되는 워크 시트가있는 추가 기능을 사용하는 방법을 알려 줄 수 있습니까?
흥미로운 부분은 Excel에서 추가 기능 목록에서 제거한 후에 추가 기능을로드하면 완벽하게 실행됩니다. 그러나 매크로를 다시 실행하면 워크 시트가 숨겨져 동일한 오류가 나타납니다. 나는 VBA에 상당히 새로운 것이므로 어떤 제안이라도 인정 될 것입니다!
편집
코드 :.
Private Sub OptionOK_Click() 'On selecting OK from userform
Dim ws1 As Worksheet
Sheets("Sheet1").Visible = True
Set ws1 = Worksheets("Sheet1")
'User Form Validation
If Trim(Me.cboData.value) = "" Then
Me.cboData.SetFocus
MsgBox "Please complete the form"
Exit Sub
End If
'copies data to given cell in excel
ws1.Range("A1").value = Me.cboData.value
'To copy selection from "Sheet1" into new workbook
Workbooks("myaddin.xlam").Sheets(1).Copy
End Sub
나는에 ...> 시트 ("Sheet1의")가 표시 = 참 오류가 발생합니다.
고맙습니다. 시도해 보았습니다. 나는 워크 시트 워크 시트 ("Sheet1의")으로 희미한 WS1이 보이는 = 사실 설정 WS1은 = 워크 시트 ("Sheet1의")는 이 오류가 얻을 :. 범위를 초과 런타임 오류가 9 첨자. 온라인으로도 검색했지만 관련 솔루션이 보이지 않습니다. – VBAlearner
편집 해 주셔서 감사합니다. cbo는 userform의 콤보 박스입니다. me.cboData는 액세스 데이터베이스를 사용하여 목록을 구성하는 콤보 상자를 나타냅니다. – VBAlearner
예 워크 시트 ("Sheet1") 또는 워크 시트 (1)을 참조 할 수 있다고 생각합니다. 앞서 언급 한 것처럼 추가 기능은 제거한 후 Excel에 다시 설치하면 완벽하게 실행됩니다. 처음으로 매크로를 실행하면 내게 끊깁니다. – VBAlearner