
EXCELのデータフォームよりデータの検索を行っているのですが、
データフォームでDBを変更することはないため(入力は別のファイルで行っている)、
データフォーム起動時に直ぐに検索条件の画面に変更したいと考えてします。
しかし、
Sub データフォームを表示する()
ActiveSheet.ShowDataForm
SendKeys "%C", True
End Sub
と記述しても検索条件の画面に切り替わりません。
どのようにすればデータフォームを開くとデフォルトで検索条件の画面が表示されるのでしょうか?
ご教示願います。
No.3ベストアンサー
- 回答日時:
こんにちは。
>今度はデータフォームが新規で入力出来るようになってしまいます。
昨日からずっといろいろな方法でやってみましたが、データフォームからは、どんなプロテクトをしても、[新規メニュー]で入力が可能になってしまいます。どうしてそうなるのか、バグなのか、修正の置き忘れなのか、良く分かりません。
このデータフォームの型自体がよほど古いものなのか、ダイアログ(Dialogs)にさえ出てきません。
Excelのアプリケーションを、特殊なプログラミングでハッキング(たぶん)して改造させて行う方法があるのだと思いますが、私には、そのような技術は持ちあわせていません。
ただ、検索だけの問題なら、UserForm 等で作ることは可能だとは思います。
Wendy02 様、何度も解答いただきまして本当にありがとうございました。データフォームから新規メニューが消えないということですので、シートに保護をかけた状態で毎回検索条件のボタンを押してもらうようにしたいと思います。
本当は100ポイントくらい差し上げたいくらいなのですが、上限がありますので20ポイントのみ付けさせていただきたいと思います。
何とか思っているようなDBが出来てきました。
本当にありがとうございました。
これからは自分でももっと勉強していきたいと思います。
No.2
- 回答日時:
こんばんは。
>保護がかかっているためもちろん入力はできないのですが、
それも簡単なことですが、ワークブックが立ち上げるときに、以下のようにしてあげれば、そのまま、コードが使えます。 UserInterfaceOnly:=True というのは、ワークシート側から、保護されていますが、マクロからは自由に処理することが可能です。
例:
'標準モジュール (これを一回設定すれば、開いている間有効です)
Sub Auto_Open()
Worksheets("Sheet1").Unprotect
Worksheets("Sheet1").Protect UserInterfaceOnly:=True
End Sub
解答、本当にありがとうございます。
教えていただいた方法で確かにシートに保護がかかっていても
検索条件の画面がデフォルトとして表示されるようになったのですが、
今度はデータフォームが新規で入力出来るようになってしまいます。
もう少しで考えていたものが出来そうなんです。
時間がございましたら是非もう一度教えていただけませんでしょうか?
よろしくお願いします。
No.1
- 回答日時:
こんばんは。
それは、簡単なことですが、コードが逆ではありませんか?SendKey でコードを送りバッファに溜めてから、DataForm を立ち上げます。ただし、この方法は、すべてのバージョンで有効ではなかったような気がします。
Sub データフォームを表示する()
Application.SendKeys "%C"
ActiveSheet.ShowDataForm
End Sub
何とも簡単に解決いたしました。
どうもありがとうございます。
もしよろしければ、もうひとつ教えてください。
シート全体が保護されている場合、同じマクロを実行しても
新規の画面が表示されてしまいます。
保護がかかっているためもちろん入力はできないのですが、
これも検索条件を初めから立ち上げることは可能なのでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
【関数】【マクロ】売上X円以上...
-
【マクロ 画像あり】Exact関数...
-
空白処理を空白に
-
同じ名前(重複)かつ 日本 ア...
-
エクセルでフィルターした値を...
-
エクセルシートの見出しの文字...
-
空白のはずがSUBTOTAL関数でカ...
-
excel
-
if関数の複数条件について
-
【マクロ】数式を入力したい。...
-
Excelで4択問題を作成したい
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
表計算ソフトでの様式の呼称
-
【マクロ】既存ファイルの名前...
-
【マクロ】エラー【#DIV/0!】が...
-
【マクロ】実行時エラー '424':...
-
エクセルの文字数列関数と競馬...
-
エクセルに写真が貼れない(フ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
証明書エラーが出ます
-
VBAでALT+Cを押したい
-
EXCEL VBA 共有ファイルと入...
-
postmail フォーム複数設置に関...
-
ビジネスメールの敬称
-
Googleフォームを回答したか確...
-
初歩的な事だと思います。 Sub...
-
エクセルVBA テキストボックス...
-
お問い合わせフォームから送信...
-
テキストボックスの番号を使っ...
-
フォームを再送信しますか?
-
数字以外の入力をエラーにする...
-
教えて!全角文字「μ」の半角
-
Excel-VBAでInputBox+Pulldown...
-
DataGridViewの桁数制限に関して
-
VBA R1C1形式で変数の入力について
-
入力フォームの値をQRコードで...
-
VBAでInputBoxの再入力をさせる...
-
エディットボックスの入力制限...
-
EXCEL VBA で指定した範囲に入...
おすすめ情報