VBA를 사용한 이후로 오랜 시간이 걸렸습니다. 또는 내 작업과 지루한 편집 작업과 관련하여, 자동으로 만들어서 jass up을 결정했습니다. 나는 종업원의 임금을 계산하는 테이블 스프레드 시트가 (검열 직원 이름과 분명한 이유 밖으로 편집 된 테이블의 가장) :Excel VBA 오류가 발생하지만 코드가 계속 작동합니까?
표는 포인트 시스템, 미래 상사를 기반으로 직원이 그 날을 얼마나 잘했는지에 따라 각 열에 1에서 3까지의 점수를 매길 것입니다 (단락 열 제외). 그런 다음 스프레드 시트는 오른쪽의 '전체'열에있는 총점을 합산합니다. 그런 다음 직원은이 점수에 따라 A +에서 C로 채점됩니다. 그게 내 부분이야. 내가하기로 결정한 것은 자동으로 간단한 vba 코드를 작성하는 것입니다 (이 그림에 보이는 것보다 더 많은 직원이 있으므로 게으름이 많습니다!). 그래서 여기에 무엇 시작된다
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Range("P7").Value >= 10 Then 'Total points value
ActiveSheet.Range("Q7").Value = "A+" 'change value of the grade
ElseIf ActiveSheet.Range("P7").Value >= 8 Then
ActiveSheet.Range("Q7").Value = "A"
ElseIf ActiveSheet.Range("P7").Value >= 6 Then
ActiveSheet.Range("Q7").Value = "B+"
ElseIf ActiveSheet.Range("P7").Value >= 4 Then
ActiveSheet.Range("Q7").Value = "B-"
Else
ActiveSheet.Range("Q7").Value = "C"
End If
End Sub
그것은 나에게 매우 간단한데,하지만 난 그것을 실행할 때마다 내가이 오류가 발생하는 문제가 있습니다
Method "Range' of object "_Worksheet" failed
을 그리고조차 아니다. 오류 메시지가 나타나면 "끝내기"를 클릭하면 작동합니다! 내가 원하는 방식으로 완벽하게 작동합니다!
누군가가이 오류를 도와 줄 수 있습니까? 내 코드에서 내게 잘못된 점을 알려주십시오. 더 많은 사람이 내게 설명해주십시오. 왜 코드가 실행될 때마다 오류가 발생하는지 알지만 코드가 여전히 작동합니다. 이것이 어떻게 가능한지??
그래서 어떤 라인에 실패하면 하이라이트됩니까? 워크 시트 기반 이벤트를 사용하여 코드 (P7)의 한 셀만 참조하여 업데이트 (Q7)합니다. 직원 한 명당 한 장을 사용하고 있습니까? –
수식을 사용하지 않는 이유는 무엇입니까? 이것은 매우 간단한 INDEX (MATCH())입니다. –
코드에 대해서는'ActiveSheet'를'Me'로 변경하십시오. –