2012-01-28 5 views
8

ここではVBAをプログラミングしている人はいますか?VBAでボタンコントロールを非表示にする方法

私は基本的に何をしようとしている

Private Sub button3_click() 

    'hide main buttons 
    button1.Visible = False 
    button2.Visible = False 
    button3.Visible = False 

    'show submenu buttons 
    button4.Visible = True; 
    button5.Visible = True; 

End Sub 

を動作するように、このコードを取得しようとしているが、私は5つの主要なボタンコントロールを持つメインフォームを持っているということです。それらのうち2つは起動時に隠されています。だから私がボタン3をクリックすると、最初の3つのメインボタンを隠し、他の2つを "再表示"したいと思う。 「 - あなたがフォーカスを持っているコントロールを非表示にすることはできませんランタイムエラー2165」このイベントを実行しようとすると は、私はエラー

を得ました。

誰もが前にプログラミングのこの側面を遭遇しましたか?私はそれが可能だと確信しています。私はちょうどここで何が悪くなったのか分かりません...

+0

おかげでみんなを試してみてください。あなたの提案はすべて試されました - 彼らは働きます!私はコーディングの際に「正方形の外で考える」ことができれば、このシンプルな機能を動作させる方法があると思っていたはずです。乾杯。 :) – awongCM

答えて

7

変更見えるコントロールのいずれかにフォーカスを、たぶん、あなたはDoEvents関数コマンドをスキップすることができ、現在の1

Private Sub button3_click() 

    'show submenu buttons 
    button4.Visible = True 
    button5.Visible = True 

    DoEvents   'execute any pending events, to make sure the button 4 and 5 are really visible 
    button4.SetFocus 'change the focus to a now visible control 
    DoEvents   'execute any pending events, to make sure that button4 really has the focus 

    'now you can hide the other buttons 

    'hide main buttons 
    button1.Visible = False 
    button2.Visible = False 
    button3.Visible = False 

End Sub 

を隠す前に、あなたは

関連する問題