• ベストアンサー

EXCEL のマクロ教えてください。

Sheet1 に以下のデータがあります。 A    B     C    D        E       F        G  1  小泉純一郎  男  111-1111   東京都・・   03-3111-****   総理大臣 2  石原慎太郎  男  111-2222   東京都・・   03-3222-****   都知事  3 ・ ・ データはA1~G100程度あるとします。 ユーザーホームにはテキストBOX1からテキストBOX5まであります。 B列にある1つの名前をテキストBOX1に入力すると、 テキストBOX2からテキストBOX5に入力した行のCからGまでの データを表示させるのにはどうすればいいでしょうか御教授ください。 EXCEL2000です。

  • MCC78
  • お礼率90% (10/11)

質問者が選んだベストアンサー

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

> ユーザーホームにはテキストBOX1からテキストBOX5まであります。 テキストボックスの数が1個足りないような・・・ 下記サンプルコードは、TextBox1に入力した内容で、部分一致で検索し、 見つかった場合は、C列~G列の内容をTextBox2~6に表示します。 見つからなければ、TextBox2~6を空白にします。 読み(カナ・かな)でもOKです。(Phonetic が、設定されていればです。) 詳しくは、ヘルブで、Findメソッドを参照してください。 データのあるシートがアクティブになっていることが、条件のときです。 TextBox1の更新時イベントにつぎのようにコードを記述します。 Private Sub TextBox1_AfterUpdate() Dim Rng As Range Set Rng = Range("B:B").Find(Me.TextBox1.Value) If Not Rng Is Nothing Then   Me.TextBox2.Value = Rng.Offset(0, 1).Value   Me.TextBox3.Value = Rng.Offset(0, 2).Value   Me.TextBox4.Value = Rng.Offset(0, 3).Value   Me.TextBox5.Value = Rng.Offset(0, 4).Value   Me.TextBox6.Value = Rng.Offset(0, 5).Value Else   Me.TextBox2.Value = ""   Me.TextBox3.Value = ""   Me.TextBox4.Value = ""   Me.TextBox5.Value = ""   Me.TextBox6.Value = "" End If Set Rng = Nothing End Sub

MCC78
質問者

お礼

>テキストボックスの数が1個足りないような・・・ 御指摘のとうりです。 私の求めていた回答でした。 ありがとうございます。

その他の回答 (1)

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

ユーザーフォームとテキストボックスという形式が必須条件でしたら、 http://www.sigoto.co.jp/excel/activex/lesson08/activex22.htm が参考になるかと。 でも、抽出したデータを利用するには、VLOOKUP関数を使う方法や、IF関数の組み合わせ、オートフィルタを使うほうが楽だと思います。

MCC78
質問者

お礼

回答ありがとうございます。 >ユーザーフォームとテキストボックスという形式が必須条件でしたら、 必須でした。関数も用途に応じて使ってます。 見落としたようですね。Excel全開は私のお気に入りでした。 追記 http://search.yahoo.co.jp/bin/search?p=Excel+%A5%BD%A5%D5%A5%C8&s=a&n=20 上記アドレス、Excelに関するサイトはいつも参考にしてます。 エクセル・アクセス・ワード!等もおすすめです。

関連するQ&A

  • 小泉純一郎と石原慎太郎は親戚ですか

    小泉純一郎と石原慎太郎は親戚とききましたが本当ですか?

  • エクセルの入力規制?について教えてください!

    「データ」→「入力規制」で入力値の種類を「リスト」にしたのですが 元の値の中に重複したデーターが入っております。するとボックス内はそのまま表示されてしまうのですが、複数表示を1つにするにはどうしたらよいでしょうか。アイディアをください。 例  A    B    C   東京都 aグループ   神奈川 aグループ   東京都 bグループ   東京都 cグループ   神奈川 bグループ    ・    ・ このときのA列B列に各「入力規制」をかけたいのです よろしくおねがいします。

  • エクセルのマクロ 【】の中だけ抽出〒と住所を分ける

    あるデータからコピペしてエクセルに並べ替えたいのですが 例えば 山田 太郎【やまだ たろう】 〒123-4567 東京都~ というデータをエクセルにペーストしました。 A2のセルには 山田 太郎【やまだ たろう】 A3のセルには 〒123-4567 東京都~ が入力されたとします。 それを B1とC1には 山田 太郎 D1には やまだ たろう E1には 123-4567 F1には 東京都~ を入れたいのですがマクロで出来る方法を教えて下さい。

  • エクセルVBAで行うVLOOKUPについて

    エクセル2000を使用しています。 いまいろいろVBAを使用してますが、わからないことがあります。 シート1に入力データ、シート2に参照のデータ USERFORM を使用し たとえばテキストBOX1にコードAと入れるとテキストBOX2に東京支店と表示し確認をできるようにしたいのです。東京支店は、シート2の参照データから引用してきます。 BOX1にAと入れてエンターを押した時点でVLOOKUPを実施させたいのですがいまいちわかりません。 シート2は A列にコード A,B,C,D,.... B列に東京支店、千葉支店... よろしくお願いいたします

  • エクセル・・教えて下さい

    例えばこれはどうすれば良いですか? シート1 A列  B列 桜組  1234 松組  2246 藤組  2345 松組  2356 シート2 A列     B列 田中真紀子  1234 小泉純一郎  2345 鳩山由紀夫  2356 となっています。 シート2のC列に A列     B列    C列 田中真紀子  1234  松組 小泉純一郎  2345  藤組 鳩山由紀夫  2356  松組 となるようにしたいのですが、C列に何の関数を入れると良いでしょうか? 数字ではなく、文字で読んで欲しいのですが。

  • EXCELマクロVBAについて

    Excel2007、XPを使用しています。 AからE列に下記のような情報が入力されています。 A / B / C / D / E ID / 名前 / 住所 / 電話 / 注文日 11111 / 田中 / 東京都 / 00000000000 / 2012/08/10 11111 / 田中 / 東京都 / 00000000000 / 2012/08/09 11111 / 田中 / 東京都 / 00000000000 / 2012/08/18 11112 / 佐藤 / 京都府 / 00000000000 / 2012/08/10 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/11 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/15 A列のIDでくくったとして、 E列の注文日が最大のみの行を表示させたいです。 A / B / C / D / E ID / 名前 / 住所 / 電話 / 注文日 11111 / 田中 / 東京都 / 00000000000 / 2012/08/18 11112 / 佐藤 / 京都府 / 00000000000 / 2012/08/10 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/15 このようなことはマクロで可能なのでしょうか? 恐れ入りますがご教授お願い致します。

  • 石原慎太郎氏は、なぜ、こんなに強い?

     東京五輪が、正式に決定しましたが、東京五輪というと、石原慎太郎。 首相が、あの小泉純一郎氏の時でも、首相よりも強かったですが、  一体、その強さの正体は、何でしょうか? 例)ディーゼルエンジン規制ではなく、いきなり禁止。そして、全国版へと。   政治カテゴリに、荒らし君が登場しているので、アンケートカテゴリーで質問します。     憶測・邪推など、何でも歓迎します。

  • excelでマクロを使用した連続印刷について

    A2セルから通し番号、氏名、住所等のデータが入力されている「データ」シートがあり、 VLOOKUPを使用してB3セルに「データ」シートのA列にある「通し番号」を 入力すると氏名・住所等が反映される「印刷」シートがあります。 例えば「データ」シートのC列(住所)に「東京都」という文字列が 含まれている宛名のみを連続で印刷したい場合、 どのようなマクロになりますでしょうか? (マクロ内に「東京都」と指定する方法と、 シート内の特定セルに入力した文字列で指定する方法が ありますでしょうか?) wordでの差し込み印刷や、宛名ソフト等の使用は考えておりません。 よろしくお願いいたします。

  • 【至急】エクセルで、一致するデータを紐付けたい

    エクセルでsheet1のA列のデータに、sheet2の並び順の異なるA列~F列のデータを紐付け、一致、並び替えする方法がありましたら、ご教授ください。よろしくお願いいたします。 ※sheet1のA列とsheet2のA列は、同じデータですが順不同で入力されています。 sheet1 A   B   C   D   E   F   G 田中 斉藤 新井 伊東 塚越 佐藤 吉田 sheet2 A   B    C     D      E      F   斉藤 東京都 文京区 123-0000 0120-・・・ × 伊東 東京都 台東区 123-1000 0120-・・・ ○ 新井 東京都 江東区 123-0000 0120-・・・ × 吉田 東京都 豊島区 121-0100 0120-・・・ △ 塚越 東京都 文京区 122-0000 0120-・・・ × 佐藤 東京都 新宿区 121-0000 0120-・・・ ○ 田中 東京都 大田区 111-0000 0120-・・・ ◎ ◆得たい結果◆ sheet1 A   B   C    D      E      F     G 田中 田中 東京都 大田区 111-0000 0120-・・・ ◎ 斉藤 斉藤 東京都 文京区 123-0000 0120-・・・ × 新井 新井 東京都 江東区 123-0000 0120-・・・ × 伊東 伊東 東京都 台東区 123-1000 0120-・・・ ○ 塚越 塚越 東京都 文京区 122-0000 0120-・・・ × 佐藤 佐藤 東京都 新宿区 121-0000 0120-・・・ ○ 吉田 吉田 東京都 豊島区 121-0100 0120-・・・ △

  • こんなことマクロで出来ますか

    普段は簡単なマクロしか使ったことありませんが以下のようなことって出来るのでしょうか? まず、 2つのファイルがあります。<A・B> <A>は入力用として(データ)や(雛型)で入力した情報が<B>に閲覧用としてリンクされています。 <A>の(データ)に開催会場のデータ(札幌、東京、大阪、福岡)を入力すると <B>に列ごとにリンクされます。 <B>:A1 札幌 B1 東京 C1 大阪 D1 福岡 マクロボタンをクリックすると <A>の(雛型)を新しいブックにコピーして各開催会場ごとのファイル名がつきます。<C>:札幌~<F>:福岡 <C>:札幌で入力したデータが<B>のA列へ <D>:東京のデータは<B>のB列へ   :   : それぞれ会場ごとのファイルが<B>の列ごとにリンクします。 このようにセルに入力したものがファイル名となって新しいブックを作り、そのデータを別のファイルの列ごとにリンクする…なんてことは出来ますか?

専門家に質問してみよう