2017-12-18 12 views
0

아래 사례를 도와주십시오 : vba에서 인쇄 명령에 대한 코드를 작성하면 OK가 실행됩니다.인쇄 명령을 수행 한 후 텍스트 상자에 초점 맞추기

그러나 인쇄 명령을 실행 한 후 커서는 텍스트 상자에 집중하지 않습니다.

커서를 텍스트 상자에 초점을 맞추려면 무엇을 사용해야합니까? 정말 고마워요.

If TextBox1.Text = "PRINT" Then 
    ActiveSheet.PrintOut 
    TextBox1.Value = "" 
    Call CData 
    ThisWorkbook.Save 
    ThisWorkbook.Activate 
    UserForm1.TextBox1.SetFocus 
End If 

내가 텍스트 상자에 스캔 바코드 매크로를 쓰고 있어요, 그래서 난 후 인쇄를 수행 자동 처리해야하기 때문에,이 텍스트 상자에 스캔 바코드를받을 계속할 수없는 스캔 바코드하기 전에 텍스트 상자를 클릭 없어야합니다.

+1

방금'TextBox1.SetFocus'를 시도은? 또는'Me.TextBox1.SetFocus'? – 0m3r

+0

아이디어로 이미 삽입했지만 커서는 여전히 Textbox1에 집중하지 않습니다. –

+0

[VBA - 텍스트 상자의 특정 위치에 커서를 설정하는 방법?] 가능한 복제본 (https://stackoverflow.com/questions/28399480/vba-how-to-set-cursor-in-a-specific-position) -in-a-textbox) – Luuklag

답변

0
  1. 오류 메시지가 있고 코드가있는 위치 (모듈, 사용자 폼, 워크 시트 또는 통합 문서 코드)가 있는지 먼저 확인하십시오.
  2. If TextBox1.Text = "PRINT" 조건이 실행됩니까? beep 명령을 삽입하십시오. 즉각적인 창에 대해 Debug.Print 정보 나 Stop 명령을 입력하면 F8을 눌러 코드 연속을 수동으로 확인할 수 있습니다.
  3. 특히 두 개 이상의 통합 문서를 사용하고 일부 선택 또는 활성화를 수행하는 경우 ThisWorkbook.Activate 대신 Windows(ThisWorkbook.name).Activate을 시도 할 수 있습니다.
  4. TextBox가 MultiPage 컨트롤의 페이지에 있으면이 페이지를 먼저 활성화해야합니다. 예 : Multipage1.Value = 0 (...) TextBox1.SetFocus을 통해 포커스를 설정하십시오.
  5. UserForm1.TextBox1.SetFocus을 참조하지 말고, Me.TextBox1.SetFocus 또는 TextBox1.SetFocus :-)을 사용하십시오.이 코드가 UserForm 모듈에 포함되어 있다면.
  6. 이 가장 프로그래밍 스타일은 아니지만 당신은 또한 당신의 텍스트 상자에 클릭() 이벤트를 수행 할 수 있습니다 : TextBox1_Click
+0

커서를 텍스트 상자에 포커스를 맞추지 않고 커서를 올려 놓았습니다. –

+0

이 코드 부분이있는 정확한 절차는 어느 것입니까? 사용자 정의 폼에서 xy_Click() 또는 xy_Change와 같은 사용자 정의 컨트롤 이벤트입니까 아니면 TextBox가 시트에 배치 된 워크 시트 프로 시저입니까? –

+0

(2) 게시물을 편집하고 TextBox1을 참조하는 이벤트 코드뿐만 아니라 인쇄하는 코드도 추가하십시오. TextBox1_Change, TextBox1_Click, TextBox1_Exit ... –