- ベストアンサー
Excel2003でマクロの自動起動と、フォームを使った検索と結果の表示
はっきりいってVBAやったことないです。 でも、作ってくれって言われて、次のことがしたいです。 Excel2003で、住所の漢字と振り仮名のシートを作り、検索のマクロをつくり、そのマクロを自動起動させたい。 検索にはコンボボックスで漢字の住所の一覧を出し、振り仮名を表示ボタンでプロンプトで検索結果を表示したいです マクロの作成も、VBeditorの利用もまったく初めてです。 Excelは表の作成や式の入力、グラフ作成など一通り使用できます。 全盲なので、できるだけ、キーボード操作を教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- マクロで非表示シート内にあるデータの検索方法が知りたい
マクロの勉強をしているのですが、練習で郵便番号検索ツールを作成したいと思っています。 概要 まず、郵便番号7桁を入力する。変換ボタンを押すと、住所を検索し、漢字で住所を表示し、読み仮名をひらがなで表示する。 とまぁ、こんな感じのものを作りたいと考えています。 で、取りあえず郵便番号と住所(読み仮名つき)一覧表を作りました。 一覧表は・・ A1には郵便番号、A2には都道府県名、A3には市区町村名、A4には町名、A5には市区町村名(ふりがな)、A6には町名(ふりがな) となっています。 さて、ここからが問題なのですが・・・ ユーザーフォームを使ってこれを使えるようにしたいのですが、検索方法がわかりません。 イメージとして、テキストボックスに入力してもらい、変換ボタンを押すと、エクセルシートの中から該当する郵便番号を検索し、その隣にある内容を変数に代入し、持ってこようと思っていました。 でも、ここで問題が・・・ 検索してるところが見えるとかっこ悪い 笑 というわけで・・もうちょっと何とかしたいんですけど、シートを非表示にしちゃうと、マクロの記憶で得た検索方法はエラーになっちゃうんですよね。。 そんなわけで、これをどうにかできないか考えています。非表示シートの検索方法があれば一番いいのですが、もしない場合は代替案を教えていただけるとありがたいです。 よろしくお願い致しますm(_ _)m
- ベストアンサー
- Visual Basic
- Excel2003でマクロが動かなくなった!
Excel97で作成されたVBAマクロがあるのですが、 Excel2000とExcel2002までは問題なく動いていたものの、 Excel2003では実行途中でエラーが発生してしまいました。 VBAマクロには上位互換が無いのでしょうか?? 自分はマクロに詳しくなく使用する立場なのですが、 マクロを作成した人が既に退職している為、 修正できる人間がおりません。。 何か簡単な方法で回避できる方法は無いものでしょうか? 宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- アクセスでフォームからサブフォームへの検索について
アクセスを勉強中の初心者です。是非教えて下さい。 請求書入力フォームを作成したので、別のフォームで請求書一覧を作成しています。その請求書一覧は、サブフォームにデータシート形式で[請求No.]、[年]、[月][社名]、[金額]が一覧にでるようになっています。その元になっているクエリの条件のところに、[年]→Like [Forms]![請求一覧]![年検索] & "*" [月]→Like "*" & [Forms]![請求一覧]![月検索] & "*" [社名]→Like "*" & [Forms]![請求一覧]![社名検索] & "*" を入力しています。 ここからですが、サブフォームの上に[年検索][月検索][社名検索]のコンボボックスと[検索ボタン]があって、それぞれコンボボックスから選択後、ボタンを押したら、その対象の年や月、もしくは社名に沿ったデータがサブフォームに出るようにしたいのです。検索ボタンのクリックイベント後のところにどういう命令文を書けばいいのでしょうか。マクロの再クリエなどで設定してもどうにもなりません。マクロもVBAがまだ理解できていないので、教えていただければ幸いです。よろしくお願い致します。
- ベストアンサー
- その他(データベース)
- エクセルの検索マクロについて
今までオートフォーマットで検索していたのですが,一つの列に存在するデータが多量になったため,マクロを使った検索としたいです。 検索の方法として,「コンボボックス」で選択したデータを検索したいと考えています。 現状は以下の通りです。 ○検索元となるデータは,1つのSheetにまとめてあります。 ○「コンボボックス」で指定したいデータは4つあります。 ○検索元のSheetの,D列が文字列,E列が数字,F列が文字列,G列が数字となっています。 この,D列~G列の中で,「コンボボックス」4つで指定したデータを別のSheetで表示させたいと考えています。 エクセルは,表計算やグラフならある程度使いこなせるのですが,マクロは全くの素人です。 お手数をお掛けしますが,どなたか知恵を授けてください。 よろしくお願いします。
- 締切済み
- Windows系OS
- エクセルの検索マクロについて
今までオートフォーマットで検索していたのですが,一つの列に存在するデータが多量になったため,マクロを使った検索としたいです。 検索の方法として,「コンボボックス」で選択したデータを検索したいと考えています。 現状は以下の通りです。 ○検索元となるデータは,1つのSheetにまとめてあります。 ○「コンボボックス」で指定したいデータは4つあります。 ○検索元のSheetの,D列が文字列,E列が数字,F列が文字列,G列が数字となっています。 この,D列~G列の中で,「コンボボックス」4つで指定したデータを別のSheetで表示させたいと考えています。 エクセルは,表計算やグラフならある程度使いこなせるのですが,マクロは全くの素人です。 自分の力で解決しようと,色々試しましたが無理でした・・・ お手数をお掛けしますが,どなたか知恵を授けてください。 よろしくお願いします。
- 締切済み
- Windows系OS
- EXCEL2003の「マクロを含んでいます」の表示
会社でEXCEL2003を使っています。 EXCELで毎月する作業があるのでマクロを組んでPersonal.exeに保存 しました。そうしたらその後作成して保存したExcelファイルは マクロを使っていなくても全部開く時に「セキュリティ警告/ ”(ファイル名)”はマクロを含んでいます」と出るようになって しまいました。 他の人から表示がでると面倒なのでVBAの画面で標準モジュールの中の MODULE1~を削除するよう言われてやっているのですが、マクロが 増えてきてこのMODULE1~をいちいち削除するのも大変でなりません。 新規ファイルを保存する時にこの標準モジュールの部分が保存されないようにする方法はありませんか?
- ベストアンサー
- オフィス系ソフト
- エクセル(2007~)のマクロ検索での画面表示についてお教え下さい。
エクセル(2007~)のマクロ検索での画面表示についてお教え下さい。 エクセル初心者です。現在お仕事で入力作業をしていますが、 マクロで作成されているデータにつきまして、 登録番号 氏名 フリガナ ローマ字氏名 生年月日 受付日 などの個人情報が多量に入力されております。 例えば、 生年月日のみ、まだ入力がされていないため マクロの検索で登録番号から一人一人呼び出して生年月日を追加入力して行くのですが、 検索が終わった後、1件分のみの表示になるのですが もとの表示に戻したいのです(再度、多量の個人情報を表示)。 どこのどのボタンを押せば良いか、教えて頂きたいです。 それともう1点なのですが、 半角カタカナは、ャョ などの小文字が使えない(データベース?などですでに設定されているので、良子:リヨウコとなる)ようなのですが、手入力してみるとリョウコと入力が出来るのですが どのような事が考えられますでしょうか。。? 分かりづらい表現で申し訳ありませんが宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルのフォームに検索結果を表示する方法について
エクセルのフォーム上に商品名を入力して、別シートに入っているデータを検索し、該当するデータを上記フォーム上に表示させたいと考えています。 【エクセルのフォームの概要】 (1)フォームはuserform1に作成してあります。商品名を入力→txtbox1 (2)「商品一覧表」というシートに商品一覧表が作成されていて、A1~J1000までデータが入っています。 (3)検索に引っかかるデータはその一覧表の左から2番目(商品名)の列です。 (4)該当するセルがある行の左から3番目のデータをフォームのtextbox2に表示させたいと考えています。 下記のように考えていますが、どうもうまくいきません。ご指導の程宜しくお願い致します。(つい最近マクロを始めたばかりなので、とんでもない構文なのかもしれませんが、自分ではどこがどうダメなのかわかりません。) Private Sub CommandButton1_Click() Dim RangeA As Range Set RangeA = Worksheets("商品一覧表").Range("A1:J1000") UserForm1.TextBox2.Text = Application.WorksheetFunction.VLookup(TextBox1.Value, RangeA, 3, False) End Sub
- ベストアンサー
- Visual Basic
- 【Excel】マクロでメッセージを表示する
Excel2003を使用しています。 Aという名前の一覧表を作成するマクロがあります。 マクロAは『Sheet1』を選択した状態で正しく実行されますので、うっかり他のシートを選択した状態で、マクロAを実行してしまうと、一覧表が正しく作成されません。 こうなった場合、誤って作成された一覧表を消去して、もう一度やり直せば済むことなのですが、『Sheet1』を選択していない状態でマクロAを実行しようとすると、何かメッセージ(例えば、“Sheet1を選択後、実行してください”みたいな)が表示されるようにすることはできるでしょうか? 参考書にダイアログボックスにメッセージを表示させるマクロが載っていましたので、マクロAにそのようなコードを追加する(?)ことで可能かな??と思い、質問させていただきました。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
作ったのは私ではありませんが、作成ができましたので、お礼申し上げます。 また、今回行った手順も一応書いておきます。 ●まず、データをテーブルに入力します。 ●その後、ドロップリストを作成したいセルをクリックし、[データ]メニューの[入力規則]をクリックします。 ●[入力の値種類]のコンボボックスから、[リスト]を選択します。 ●[元の値]に、'='を先頭に付けて、絶対参照($を付けた形式;$a$1:$d$30)で住所の漢字が入力された範囲を指定します。 ●[空白を無視する]のチェックボックスと[ドロップリストから選択する]のチェックボックスをオンにして(初期状態でオン)、[OK]をクリックします。 ★リストが出来上がります。 ●振り仮名を表示したいセルに次の書式で入力します。 =if([リストを設置したセル番地]="","",vlookup([リストを設置したセル番地],[検索を行う範囲のセル番地の範囲],[検索対象の列番号(第2引数で指定した範囲の左側から1・2・3・...)],0)) ★住所の漢字の列がE列で、振り仮名がF列、リストの設置セルがB3の場合の例は、 =if(b3="","",vlookup(b3,e1:g80,2,0)) ●住所データが入力されたセルを選択し、[書式]メニューから[列]をクリックします。 ●[保護]タブをクリックし、[表示しない]のチェックボックスをオン(初期状態はオフ)にし、[OK]を押します。 以上です。 たいへん有用なヒントをありがとうございました。 今後ともよろしくお願いします。 作成者がファイルを公開してくれています。 http://homepage2.nifty.com/polyposis/excel/
補足
基本はExcelのデータがユーザーに簡単に変更できないようにすることです。 1.レコード数は60件くらい、変更はありません。 2.シート構成はA列に漢字、Bれつにふりがなです。 必要ならタイトル行を設けてもいいと思います。 関数を使うとテーブルを保護しないと変更されてしまいますよねえ。 マクロだと、シートの表示を非表示に設定できますよねえ。 今後ともよろしくお願いします。