- ベストアンサー
エクセルVBAエディタの起動に関して質問です。
- VBAで検索フォームの質問をさせていただきました。いただいた回答をもとに試行錯誤した結果、期待以上のものができあがりとても役立っています。
- しかしこのVBA、実行した際にMicrosoft Visual Basicのエディターが勝手に起動してしまいます。自分で使う分には構いませんが、友人などに渡すときになんとなく格好悪いなーという感じです。
- そこで、このエディタが実行時に表に出てこないようにエクセル上で設定したいのですが、そういったことは可能でしょうか。バージョンはExcel2007、OSはVistaです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
状況が良く分からないのですが、なぜ、VBEditor が立ち上がるのでしょうか? エラーが発生しているのではありませんか? 通常は、きちん書かれたコードなら、VBEditor は立ち上がりません。 エラートラップ(On Error ~)で立ち上がるとしたら、設定が間違っている可能性があります。 VBEditor のツール--オプション--全般--エラートラップ [エラー発生時に中断] というモードにする で、エラートラップに関わらず、VBEditor が立ち上がります。 この設定は、エラートラップでエラーの発生場所が分からない時に使う試験モードの設定です。 ですから、実際に使用する時は、[エラー処理対象外のエラーで中断]などを選択しておきます。 また、参考までですが、以下のようにエラートラップは、避けられるものを、安易にトラップしないほうがよいです。ここのカテゴリでは、それが気に入らないという人が多いようですが、システムを組む時などに、一見エラーのないようにみえても、思わぬ反応を示すことがあります。 '// Private Sub CommandButton1_Click() Dim sFndTxt As String Dim r As Range sFndTxt = TextBox1.Value If sFndTxt = "" Then Exit Sub '検索場所が決まっているなら、Cells ではなく、Columns(1)等とします。 Set r = Cells.Find(What:=sFndTxt, LookIn:=xlValues, LookAt:=xlPart, _ SearchOrder:=xlByColumns) If Not r Is Nothing Then TextBox2.Value = r.Offset(0, 1).Value Else TextBox2.Value = "" MsgBox sFndTxt & " は見つかりません", vbExclamation End If Exit Sub End Sub
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
お礼
ありがとうございます。 どうやら仰る通り、表面上は動いていましたがコードエラーがあったようです。修正はまだ出来ていませんが、試行錯誤しながら完成させたいと思います。