アプリ版:「スタンプのみでお礼する」機能のリリースについて

今までも同じような質問があったようですが、僕がしたいこととちょっと違うみたいなので、どなたか教えてください。
AとBの二つのエクセルブックがあって、Aのブックのシート1にはA1のセルに氏名、B1のセルには住所、C1には生年月日があるとします。行方向にもいっぱい人がいて、列方向にももっとデータがあります。ここでBのブックのシート1のA1セルにAブックの氏名列(A列)から、約100人分のドロップダウンリストを作ります。このリストで選んだ人のデータがBブックの任意のセルに住所、生年月日などのデータが表示出来るようにしたいんです。今まではLOOKUPで任意のセルに番号を打ち込めば、飛ぶようにしてたんですが、番号ではなくリストで選んだ人のデータが飛ぶようにしたい。他に参照になる書類では、コントロールボックスでそういうのをしているのを見かけたことはあるんですが、リスト表示からダイレクトにできるんでしょうか。長くなり済みませんが、どなたかよろしくお願いします。環境はウインドウズ7プロ、オフィスは2013です。

A 回答 (4件)

どうしてもやりたいんですよね?手段は選びませんよね?・・・であれば、こんな感じでどうでしょうか。


下記のプログラムをブックBのシート1のWorksheet_SelectionChangeイベントプロシジャに張り付けます。
次にブックBのシート1のA1セルに入力規則でリストを設定します。リストの内容は、とりあえず適当でOKです(マクロ内で再設定するので・・・)。ただし、入力時メッセージのタイトルは、”MyList”としてください。
それから、ブックAとBは同時に開かれていることが前提となります。また、氏名にカンマが含まれていると姓と名が別々のリストとして表示されてしまいます。

【プログラムの仕様】
入力規則のタイトルが、”MyList"であるセルが選択された場合、リストの表示内容をブックAのシート1のA列からダイナミックに設定します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Validation.InputTitle <> "MyList" Then Exit Sub
Dim ws As Worksheet
Dim I As Long
Dim MyList As String
Set ws = Workbooks("A.xlsx").Sheets("Sheet1")
For I = 1 To ws.Cells(Rows.Count, "A").End(xlUp).Row
If MyList <> "" Then MyList = MyList & ","
MyList = MyList & ws.Cells(I, "A")
Next I
Target.Validation.Modify Formula1:=MyList
End Sub
    • good
    • 0
この回答へのお礼

すみません、僕には高度すぎて手に負えません。それに何人かと共有してこのファイルを使うので、何かあった時に対応できません。みな僕といっしょくらいのリテラシーなので。どうも大変ありがとうございました。

お礼日時:2016/03/23 08:52

データベースクエリ(Microsoft Queryか ODBC接続)で氏名リストを Distinct


で取り込んで 作成されたテーブルを名前定義。それを入力規則のリストに設定。
同じくデータベースクエリで その他の情報を 選択したリストセルをパラメータ
にして抽出。

という流れでできますが 知識がないとさすがに無理だと思います。
条件を SQLで直接指定するか Microsoft Queryで設定するかが必要です。

上記の方法が無理なら VBAの勉強をしてマクロで処理するくらいかと思います。
    • good
    • 0
この回答へのお礼

はい、さすがにスキル不足でそれは無理です。他の方の回答をもう少し待ってみます。ありがとうございました。

お礼日時:2016/03/23 08:46

》 Bのブックのシート1のA1セルにAブックの氏名列(A列)から、


》 約100人分のドロップダウンリストを作ります。
ギョギョ!知らないのは私だけかも知らないけど、
別(B)のブック(別シートではない!)にあるリストをAブックのドロップダウンリストとすることが可能なのですか、Excel 2013 では?貴方自身は経験済みですか?教えてください。
    • good
    • 1
この回答へのお礼

はい、それについてはこれ迄にもたくさんの人が質問、回答されていますよ。ググればすぐ出てきますよ。とりあえずありがとうございました。

お礼日時:2016/03/23 08:45

下記URLのページをご覧になってお試しください。



「リストの元の値は別シートにできる!」
http://kokoro.kir.jp/excel/list-name.html

「リスト入力を別シートから参照して行う(入力規則)」
http://www.moug.net/tech/exopr/0040003.html
    • good
    • 0
この回答へのお礼

ありがとうございます。しかしながら、僕が意図しているものじゃないみたいです。もう少し待ってみます。ありがとうございました。

お礼日時:2016/03/22 17:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!