2014-09-15 2 views
0

내가 현재 파일에 (즉, 통합 문서 A)를 매크로를 사용하여 통합 문서 B에서 매크로를 실행하려고 찾을 수 없습니다 매크로 - 나는 다음과 같은 오류 얻을 : 이제또 다른

Run-time error '1004': 

Cannot run the macro 'Workbookname!Macroname'. The macro may not be available in the workbook or all macros may be disabled 

을, 나는 모든 확인 맞춤법 (예 : workbookname과 macroname)은 모두 괜찮 았지만 통합 문서 B로 이동하면 해당 통합 문서에서 사용할 수있는 매크로 목록에서 해당 매크로를 찾을 수 없습니다.

Set wbTemp = Workbooks.Open("Workbookname") 
Application.Run wbTemp.Name & "!" & macroName, folderName 
wbTemp.Close True 
+0

** 외부 매크로 실행을 시도하는 코드 게시 ** –

+0

wbTemp = Workbooks.Open ("Workbookname") 설정 Application.Run wbTemp.Name & "!" & macroName, folderName wbTemp.Close True –

답변

0

wbTemp.Name은 프로그램에서 마음에 들지 않는 공백이나 다른 문자를 찾습니다.

내 자신의 코드 :

StringVar = Application.Run("'" & Wb.Name & "'!Taille_de ", sh.Name)

taille_de 함수입니다

sh.name 함수에 대한 인수입니다.

인수와 하위를 호출 :

Call Application.Run("'" & wb.Name & "'!Module11.son_par-type", Sh.Name)

또는

Application.Run "'" & wb.Name & "'!Module11.son_par-type " & Sh.Name

은 여러분의 필요에 코드를 적용하시기 바랍니다.

+0

고마워요! 그래서 이름에 공백이 없으므로 이름에 단어를 밑줄로 넣습니다. –

+0

당신은 그것을 할 수 있지만 내 코드 라인을 사용하면 공백이나 다른 이상한 문자로도 작동합니다 –

1

열고 VBE 및 절차가 실제로 wbTemp 통합 문서에 있는지 확인하기 위해 CTRL + F를 사용


통합 문서 B는 매크로 같은 통합 문서를 호출한다.

존재하지 않으면 문제가됩니다.

I am trying to run a macro in workbook B using a macro in the current file (i.e. workbook A)

나는 그것이 귀하의 문제라고 생각합니다. 이 방법으로 매크로를 호출 할 수 없습니다. 파일 A에 존재하고 파일 B에서 실행하려는 경우 정상적으로 호출 할 수 있습니다. 물론이 과정은 올바르게 작성되었으며 통합 문서 파일에서 실행될 수 있다고 가정합니다. ActiveWorkbook, ThisWorkbook 또는 Select 메서드를 사용하는 경우 다른 파일에서 실행되도록 설정되어 있지 않으므로 실패 할 수 있습니다.

+0

전에 매크로를 실행하기 전에 코드에서 wbTemp를 열어 볼 수있었습니다. 하지만 이제는 통합 문서 B에 매크로 모듈이 있습니다. (파일도 저장했습니다.) -하지만 검색하려고하면 매크로에있는 매크로를 볼 수는 없지만 MS VB의 프로젝트 탭) –

+0

더 많은 정보를 제공해야합니다. 자신이하고있는 일에 대한 자세한 내용을 포함하도록 원래 질문을 편집/업데이트하십시오. 예를 들어 두 파일 모두에 절차가 실제로 있는지 여부는 명확하지 않습니다 (스크린 샷은 매우 유용합니다. imgur.com에 업로드하고이를 표시하는 링크를 포함 할 수 있음). 통합 문서의 매크로 등. 또한 "매크로 목록"은 무엇을 의미합니까? –