2016-12-06 4 views
2

나는 이미 asked어떻게 워크 시트로 전환합니까?

가 어떻게 실행 동안 워크 시트 에 Visual Basic 편집기로 전환 할 MSDN에서이 질문을했습니다?

절차가 이 아니고이 실행 중이면 Microsoft Excel보기 버튼 (Alt + F11)을 클릭 할 수 있습니다. 동일한 작업을 수행하는 VBA 문이 있습니까?

감사합니다. 셰인.

엑셀 2010 SP2 (14.0.7173.5000) 64 비트

+0

나는 이것이 가능한지 확신하지 못합니다. 원래는 'Activate'방법을 제안했지만 Excel 창은 나타나지 않습니다.실제로 동일한 작업을 수행하는 버튼 양식에서 메소드를 실행할 수 있습니까? (Activate 메소드를 사용해야하는 경우 워크 시트 간 번갈림) – AER

답변

0

우선을 MSDN에서 얻은 정보를 반복하여 귀찮게합니다.). 그런 다음 창을 앞으로 가져 오는 방법을 설명합니다.

나도 묻는 것을 할 필요가 없다. 코드를 디버깅하고 싶지만 디버깅을하려면 코드를 실행하는 동안 코드를 확인하는 것이 중요합니다 (대부분의 경우). 창을 나란히두고 F8을 사용하여 코드를 단계별로 실행하는 것이 더 나은 옵션처럼 보입니다.

나는 Excel 창 (Alt + F8)에서 매크로를 시작하는 것으로 충분할 것이라고 생각할 수 있습니다. 실제 답변을 지금


: 나는 다른 버전에 대해 알고하지 않습니다하지만 나 그냥 창을 활성화하기위한 전면 (오피스 2016, 윈도우 10)로 가져 오지 않습니다.

:

AppActivate Application.Caption 
  • Alt + F11 보내기 (I 자신의 이름으로 창을 지정 좋아하지 않지만 아마도 가장 좋은 방법)에서는 AppActivate를 사용

    • : 나는 일에 다음과 같은 발견

      Application.SendKeys "%{F11}" 
      

      그러나 Excel 창이 이미 앞에 있는지 (또는 VBE를 다시 가져올 수 있는지) 확인해야합니다. 거짓과 진실 다시 또한 나

      ThisWorkbook.Windows(1).Visible = False 
      ThisWorkbook.Windows(1).Visible = True 
      
      에 대한 전면에 제공에 대한 가시성을 설정 시스템 API를

      'on top of your module 
      Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long 
      
      'in your sub 
      SetForegroundWindow ThisWorkbook.Windows(1).hwnd 
      
    • 를 사용

      'on top of your module 
      Declare Function GetForegroundWindow Lib "user32"() As Long 
      
      'in your sub 
      If GetForegroundWindow = Application.VBE.mainwindow.hwnd Then Application.SendKeys "%{F11}" 
      
    • : 내가 찾은 유일한 방법은 시스템 API를 사용했다

  • +0

    정말 오랫동안 답변을 드려 죄송합니다. 나는 당신의 제안을 모두 해봤 및 작동하는 유일한 방법은 이것이다 : 언급 한 바와 같이 엑셀 창이 앞에 이미있는 경우 는,이 날 걸릴 것 "{F11} %" Application.SendKeys VBE,하지만 난 단지 디버깅을 위해 그것을 사용하려고했다. 그래서 이것은 내가 필요한 것을 할 것입니다. 도움 주셔서 감사합니다. 셰인. –

    3

    VBE에서를 표시하려면

    Sub ShowVBE() 
        With Application.VBE.MainWindow 
         .Visible = True 
         .SetFocus 
        End With 
    End Sub 
    

    는 통합 문서 창을 활성화 같은하려면 :

    Sub ShowThisWorkbook() 
        With ThisWorkbook 
         .Activate 
         .Windows(1).Activate 
         .Windows(1).WindowState = xlMaximized 
         .Worksheets("Sheet2").Activate ' <-- Change to your desired Worksheet name here 
        End With 
    End Sub 
    
    +0

    통합 문서 또는 통합 문서 창을 활성화해도 해당 프런트로 이동하지 않습니다 (Office 2016) – arcadeprecinct

    +0

    @arcadeprecinct ShowThisWorkbook()에 대한 코드 편집을 참조하십시오. 워크 시트 활성화 라인을 포함시켜야합니다. 또한 WindowState를 최대화로 적용하도록 추가되었습니다. – PatricK

    관련 문제