2014-10-10 2 views
0

Hyperion에서 데이터 가져 오기를 자동화하기 위해 VBA를 사용하려고합니다 (VBA를 처음 사용함). 시트 1의 셀 범위를 선택해야합니다. Alt, X, S, R을 눌러 데이터를 가져온 다음 다음 시트로 이동하고 반복하십시오. 내가 겪고있는 문제는 매크로가 탭을 통해 실행되고 필요에 따라 셀을 강조 표시하지만 sendkey (모든 5 개의 인스턴스)는 각 단계 이후가 아닌 전체 매크로의 끝에서 실행됩니다. 어떤 도움을 주시면 감사하겠습니다. 매크로 1-5는 다른 시트 이름과 완전히 동일합니다.Sendkeys가 매크로 중간에서 실행되지 않습니다.

코드 내가 현재 가지고 :

Sub RunAllMacros() 
Macro1 
Macro2 
Macro3 
Macro4 
Macro5 
End Sub 

Sub Macro1() 
    Sheets("Sheet 1").Select 
    Range("C5:H15").Select 
    Range("H15").Activate 
    Selection.ClearContents 
    Range("A1:H15").Select 
    Range("H15").Activate 
    SendKeys ("%"), True 
    SendKeys ("x"), True 
    SendKeys ("s"), True 
    SendKeys ("r"), True 
    Application.Wait (Now + #12:00:01 AM#) 

End Sub 
+1

코드 시작 부분에'DoEvents'를 추가하면 문제가 해결됩니까? –

+0

'Alt' +'x'는 추가 기능 탭을 나타냅니다. 원하는 추가 매크로를 이름으로 호출 할 수없는 이유는 무엇입니까? – guitarthrower

답변

0

이 수정을 시도하십시오.

Dim dTILL as double 
SendKeys ("%(xsr)"), True 
dTill = Now + TimeSerial(0,0,2) 
Do While dTILL>Now: DoEvents: Loop 

외부 프로세스가 따라 잡을 수 있도록 메시지 펌프가 있어야합니다.

+0

이것은 완벽하게 작동했습니다. 도와 줘서 고마워. 귀하의 응답에 대해서도 다른 모든 사람들에게 감사하십시오. – Allen

관련 문제