0
여러 워크 시트에 기능을 추가 할 예정인 VBA 추가 기능이 있습니다. 워크 시트 이벤트 및 트리거 매크로를 수신하는 클래스가 있습니다. 이 작동하지만 개인 매크로 매개 변수를 호출 할 수 없습니다.매개 변수가있는 개인 VBA 서브 루틴 호출
내 이벤트 리스너 클래스 모듈에 있고 이것이다 :
그것은과 같이 모듈에 통합 문서를 여는 초기화Option Explicit
Private WithEvents App As Application
Private Sub Class_Initialize()
Set App = Application
End Sub
Private Sub App_SheetChange(ByVal Sh As Object, ByVal Source As Range)
On Error GoTo Finish
App.EnableEvents = False
Call Application.Run("Worksheet_Change", "Source")
Finish:
App.EnableEvents = True
End Sub
:
Sub Auto_Open()
Set clsAppEvents = New clsApplicationEvents
End Sub
내가 노력하고있어 매크로 전화를 다시 별도의 모듈에 다음과 같은 형태를 취합니다 : 나는 C의 다음과 같은 방법을 시도했습니다
Private Sub Worksheet_Change(ByVal Target As Range)
'Do some work on range
End Sub
을 매크로를 Alling은 아무도 지금까지 일하지 않은 : 모든이없는
Call Application.Run("Worksheet_Change", "Source")
Application.Run "Worksheet_Change", "Source"
Application.Run "Worksheet_Change" "Source"
이것을 시도 할 때 얻는 오류를 포함 시키십시오. 어쨌든, 가장 명백한 문제는 Range 객체 대신에 문자열로서'Source'를 전달한다는 것입니다. 실행 호출에서 소스 주변의 따옴표를 제거하십시오. –
매크로가 단순히 실행되지 않았지만 따옴표를 제거하는 등의 오류 메시지가 없었습니다. Application.Run "Worksheet_Change", Source - 트릭을 수행했습니다. 당신이 대답을하고 싶다면 그것을 해결 된 것으로 표시 할 것입니다. 감사 – db579