내가 확인란이 하위런타임 오류 '1004': '_Worksheet'개체의 방법 '범위'
Sub CheckBox7_Click()
If ws1.Shapes("Check Box 7").OLEFormat.Object.Value = 1 Then
ws2.Range(comment).Offset(0, 2).Value = "1"
Else
ws2.Range(comment).Offset(0, 2).Value = "0"
End If
End Sub
를 사용하여 표시 할 때 셀에 쓰기를 시도하지만 단지를 열면하고 실패 시트 및 체크 상자를 클릭하십시오. 런타임 오류 '1004'가져 오기 : 메서드 '범위' '_workheet'개체의 오류가 실패했습니다.
나는 모듈의 상단에있는 변수를 정의 :Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim comment As String
Dim rown As Integer
그리고 통합 문서를 열 때 나는 변수를 설정 :
, 나에게 이상한 무엇Private Sub Workbook_Open()
rown = 3
comment = "F" & rown
Set ws1 = ThisWorkbook.Sheets("Rating test")
Set ws2 = ThisWorkbook.Sheets("Comments test")
End Sub
I 첫번째 A를 누르 경우 단추를 모듈에서 다음 코드와 함께 사용하면 Workbook_open 이벤트에 넣은 코드가 같지만 더 이상 오류가 발생하지 않습니다.
Sub First_Comment()
Set ws1 = ThisWorkbook.Sheets("Rating test")
Set ws2 = ThisWorkbook.Sheets("Comments test")
rown = 3
comment = "F" & rown
End Sub
도움 주셔서 감사합니다, 나는 VBA 초보자입니다!
를 사용해야 그의 범위를 벗어나 있기 때문에 자신의 변수에서 작동합니다
Public
로 전역 변수를 선언해야 'Workbook_open'은 어디에서 정의 했습니까? –Workbook_Open Sub가 실행 중입니까? 그렇다면 "ThisWorkbook"("Microsoft Excel Objects"아래)에 있어야하며 다른 모든 코드도 있어야합니다. – EngJon
예 WOrkbook_Open은 "ThisWorkbook"("Microsoft Excel Objects"아래)에 정의되어 있습니다. 다른 코드는 동일한 VBA 프로젝트에서 Module1의 Module1에 있습니다. Workbook_Open Sub는 workbook_open에 "msgbox comment"를 추가 할 때 "F3"과 함께 msgbox를 보여주기 때문에 실행됩니다. – Mustika