• 締切済み

vba なのですが...

EXCEL の VBA です ActiveX コントロールで テキストボックス があります その、テキストボックス のLostFocus時のイベントなんですが、 標準モジュールで書かれているソースを直接呼びたいです Private Sub TextBox1_LostFocus() から、callするのではなく、 直接 呼び出す方法はあるのでしょうか? おしえてください

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

これも前問と同じような「直接」の意味がよくわからないが、VBAの範囲内では出来ない(対象にしてない。カバーしてない)。 もっとウインドウズのキーボ-ドやマウスの動作と直接つながりたい場合は、自分でOS的なところがやっている機能を横取りすることになるが、初心者がやることではない。もっとウインドウズの「メッセージ」の仕組みでも勉強してから考えて。 なぜそんな発想をするのか。たとえば今までそういう質問が出て居ないと思う。 参考 話題にしている言語は違うが http://www.atmarkit.co.jp/fdotnet/dotnettips/467wndproc/wndproc.html

全文を見る
すると、全ての回答が全文表示されます。
  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.1

>直接 呼び出す方法はあるのでしょうか? ありません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ExcelのVBAで質問です

    ワークシート上にコントロールのテキストボックスを置いています。 このテキストボックスの値(TextBox.Value)を別で作った標準モジュール内のサブプロシージャの中で 使うにはどのようにすればよいのでしょうか? 例として以下のようなプログラムです。 '■■■ Sheet1 ■■■ Dim ThisDate As String ThisDate = TextBox1.Value & "日" Private Sub CommandButton1_Click()    Call test End Sub '■■■ 標準モジュール ■■■ Sub test()    MsgBox ThisDate End Sub おわかりの方宜しくお願いします。

  • excel vba です

    シートにActiveXコントロールでボタンを作りました そのボタン押下時、 標準モージュールにあるソースを直接呼出したいのですが、 ボタンとそのモジュールの割り当て方がわかりません 教えてください (1) sheet1 に CommandButton1 というボタンがあります (2) 標準モージュールにある、 Sub test() というモジュールを直接呼び出したい 普通にやると、Sheet1 に Private Sub CommandButton1_Click() というモジュールができてしまいます そこから、Sub test() をcall するのではなく、直接呼び出したいのです 教えてください、宜しくお願いします

  • VBA

    エクセルのVBAで下記のようにすると テキストボックス1=10,テキストボックス2=20の値を入力すると セル"A1"に1020と表示されます。合計を求めるにはどうすればよろしいですか?  ―・*・/は、正しい答えが表示されます。 Private Sub InputBtn_Click() Worksheets("Sheet1").Range("A1") = TextBox1.Text + TextBox2.Text End Sub

  • Vba UserForm SetFocus

    ExcelのVbaでUserForm上に英単語のタイピング練習のソフトを作ろうとしていますが、うまくいきません。コントロールのイベントについての理解が不足しているのが分かりました。 ユーザフォーム上の複数のテキストボックス間のフォーカスの移動について教えて下さい。 UserForm1にテキストボックスを3つ、コマンドボタンを1つ配置しました。それぞれTextBox1、TextBox2、TextBox3、CommandButton1とします。 Private Sub CommandButton1_Click() TextBox3.SetFocus ・・・(1) End Sub Private Sub TextBox3_Enter() MsgBox "In TextBox3" TextBox2.SetFocus ・・・(2) End Sub 各TextBoxのTabStopプロパティは「True」、「TabIndex」は番号順になっています。 コマンドボタンのTabStopプロパティは「False」にしています。 フォームを表示し、コマンドボタンをクリックするとエラーが発生します。 (2)の実行の後(?)、(1)がエラー表示されます。 各イベントの発生のタイミング、連鎖、終了等の理解が不足していて、その理由がよく分かりません。どなたか教えていただけないでしょうか。よろしくお願いします。

  • テキストボックスに値を入力し終わったらイベントを発

    エクセル2007を使用しています。 アクセスで言う「更新後処理」のAfterUpdateイベントは エクセルのActiveXコントロールのテキストボックスイベントにはないのでしょうか? 例えば、テキストボックスに「aiu」と入力し終わったらイベントを発生させたいのですが、 Private Sub TextBox1_Change() MsgBox "" End Sub にしすると 「a」を入力した時点で、MsgBox が表示されてしまいます。 テキストボックスに値を入力し終わったらイベントを発生させる方法はありますか? VBE画面でシートイベントを見ても AfterUpdateイベントは見当たりません。 ご回答よろしくお願いします。

  • VBA初心者です。

    VBA初心者です。 ユーザーフォームにテキストボックスとコンボボックスを1つずつ作り、それらを Private Sub ComboBox1_Change()    TextBox1.Value = ComboBox1.Value End Sub というふうに繋いでるとき、テキストボックスにフォーカスをあてさせないようするため、 Private Sub UserForm_Initialize()    TextBox1.Enabled = False End Sub このようにしました。ここまでは問題ありません。質問したいことは、このときテキストボックスに表示させる文字が淡色になるのを防ぐ方法です。    TextBox1.Locked = True これを上に付け加えればうまくいきそうなのですが、うまくいきませんでした…。どなたか解決方法を教えて下さい。

  • 【vba】フォームに書いてあるコードをステップインすることは不可能でしょうか?

    エクセルもアクセスも同じなんですが フォームのモジュール?に書いてあるコードを 「F8」のステップインすることは不可能でしょうか? 標準モジュールなら 「F8」で少しずつVBAコードを試すことが可能なのですが、 フォームに書いてあるほうはできません。 ひとつひとつ試したいので Private Sub コマンド1_Click() Call test End Sub とフォームのところに書き、 標準モジュールには Sub test() ・・・ End Sub と書いて 標準モジュールのほうを F8で少しずつデバッグしています。 こうするしかないのでしょうか? よろしくお願いします。

  • エクセルVBA フレーム内のイベント

    フレーム内に、テキストボックスを配置し、 そのテキストボックスをExitした場合にFormatを変更したいのですが、 フレーム内にテキストボックスがあるためかイベントが発生しません。   1) Frame1 の中に Textbox1 を配置   2) Textbox1には数値を入力   3) 入力後、次のコントロールに移動した場合、    Textbox1.textをformat(Textbox1.text,"#,##0")にする   Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)     msgbox "Exit"   End Sub   としましたが、ユーザフォームを終了した時に、msgが出力されます。 フレーム内のイベントはどのようにすればよいか、教えていただきたいです。 よろしくお願いいたします。

  • VBAについての質問です。初心者です。

     はじめまして。  VBA初心者です。  よろしければお願いします。  Changeイベントプロシージャを使い  テキストボックス1に  テキストボックス2と3から導き出せる答えを  コマンドボタンを押さずに  数字を入力しただけで表示されるようにしたいのですが。  コマンドボタンを作って、押したとき。  コマンドボタンを作らなくても、  テキストボックス1のところで何かタイピングしたとき。  は表示できるようになったのですが、  2と3に入れただけで  1が表示される  という状態にできません…。  質問内容の説明がわかりにくいと思いますが  補足などもちろん何でもしますので  よろしければご回答お願いします。  現時点で、スペースボタンなど  何かしら1のボックスでタイピングした場合に出る状態は Private Sub TextBox1_Change() TextBox1.Value = TextBox3.Value / TextBox2.Value End Sub  です。

  • エクセルVBAのコンボボックスについて

    エクセルVBAでActiveXコントロールのコンボボックスを配置して以下の プログラムを記述しているのですが、 コンボボックスでAを選択した後に、もう一度Aを選択したときに イベントが発生しません。 Private Sub ComboBox1_Change()ならイベントが発生しないのは 分かるのですが、Clickの場合は、選択された値が変わらなくても イベントが発生すると思ってたのですが。 VB6では問題なく発生しています。 ちなみにセルの入力規則ではなくてコンボボックスで実現したいです。 Private Sub ComboBox1_Click() 'ここに処理を記述 End Sub