• 締切済み

ドロップダウンで「aaa」を選択したら表示では「A」としたい。

こんにちは。 ドロップダウンリストで困っています。 入力規則から、ドロップダウンリストを作成しています。 リストの中身(元の値)はaaa,bbb,cccとしているのですが、 プルダウン中と、選択後や他のセルにカーソルが移動した時の表示を変化させたいのです。 aaaを選択→A bbbを選択→B cccを選択→C どなたか教えていただけるかたがいましたら、 よろしくお願い致します。

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

No2です。 > VBAに関しては知識がないため、 > 私には難しそうです。 ご自身でVBAのコードを書くならそうでしょうが、 1.シートのタブを右クリックし、コードの表示を選ぶ 2.出てきたVisualBasicEditor(白い画面)に下記(No2のところで書いています)のコードをコピーして貼り付ける。 3.AltキーとF11キーをいっしょに押してワークシート画面に戻る。 わずかこれだけの作業ですよ。 食わず嫌いせずにいちどためしてみたらどうかなあと思うんですが。 ( ̄□ ̄;)!!

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

VBAを使うとうまくいくようです。 例として D1:E3に aaa 東京 bbb 大阪 ccc 京都 とします。 A列にデーター入力規則ーリストで、D1:D3を指定します。 一方Sheet1のWorksheet_Changeのイベントに(やり方は下記注参照) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Application.EnableEvents = False Target = Application.WorksheetFunction.VLookup(Target, Range("d1:E3"), 2, False) Application.EnableEvents = True End If End Sub をコピペする。 A列にポイントすると、ドロップダウンで aaa bbb ccc が表示される。 例えば、そのうちの aaaをクリックすると東京がA列のセルにセットされる。 (注)VBEのVBAProjectの中のSheet1をクリックして出てくる画面に 上記のコードを貼り付けること。 Sheet1は本番では自分の作った質問でいうシート名をさす。 ーー もしクリックしても反応しなくなったら 標準モジュールに Sub test01() Application.EnableEvents = True End Sub を貼り付けて、実行した後に、シートに戻って、上記ドロップダウンをテストしてください。

monmonsuke
質問者

お礼

ご意見ありがとうございます。 VBAに関しては知識がないため、 私には難しそうです。 せっかく回答をいただいたのに すみませんでした。

回答No.4

#3ですが、さっそく修正です。 > 例えば B1 に、=VLOOKUP(A2,C2:D4,2,0) と入力すると、 例えば B1 に、=VLOOKUP(A1,C1:D3,2,0) と入力すると、 の誤りでした。

回答No.3

    A    B    C    D 1 (入力規則)    aaa   A 2            bbb   B 3            ccc   C このような表で、A1 に入力規則(リスト)が C1:C3 を参照して設定されていると します。 例えば B1 に、=VLOOKUP(A2,C2:D4,2,0) と入力すると、当然 A1 は aaa、 B1 は A になります。 A1に、セルサイズと同じテキストボックスをかぶせて作成し、テキストボックス の参照先を =B1 にします。 ここで、A1 と B1 の文字色を 白、テキストボックスの書式を 線なし、塗りつぶし なし、更にオブジェクトのみを対象にシートを保護します。 A1 のリストから aaa を選択すると、あたかも A1 に A と表示されたかのように はなります。

monmonsuke
質問者

お礼

ご意見ありがとうございます。 早速試してみます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

同じセル内の値を値として変化させるのは関数では無理ですが、VBAを使えば出来そうですね。ためしてみてください。 1.シートのタブを右クリックし、コードの表示 2.出てきたVisualBasicEditorに下記をコピペ 3.Alt+F11でワークシート画面に戻る Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub 'A1セル以外は作動させない Select Case Target.Value 'A1の値により対応する Case "aaa" 'aaaだったら Target.Value = "A" 'Aとする Case "bbb" Target.Value = "B" Case "ccc" Target.Value = "C" End Select End Sub '上記は、入力規則のあるセルをA1としてますが、実情に合わせアドレスや"aaa"などを書き換えて使ってください。

monmonsuke
質問者

お礼

ご意見ありがとうございます。 VBAに関しては知識がないため、 私には難しそうです。 せっかく回答をいただいたのに すみませんでした。

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

> プルダウン中と、選択後や他のセルにカーソルが移動した時の表示 すなわち、リストやセルの表示上は(表示リスト) A B C として、値を(正規リスト) aaa bbb ccc と対応させて、参照や計算を行うということでしたら、入力規制を設定しているセルは、完全に表示のみとして、その近くのセル(例えば1段下のセル)に、 =INDEX(正規リスト範囲,MATCH(入力規制セル,表示リスト範囲,)) とします。参照先はすべてこのセルにすれば、表示と値を分けて計算できます。

monmonsuke
質問者

お礼

ご意見ありがとうございます。 やはりもう1つのセルを使わなければいけないのですね。 試してみます。 ありがとうございました!

関連するQ&A

  • ○、×のドロップダウンリストを作りたい。

    エクセルで「○」か「×」かを選択できるように ドロップダウンリストを作りたいのです。 ドロップダウンリストに表示させたい 「○」「×」を別のセルに入力して、選択するように しているのですが、これを表示させないようにするには どうしたらよいのでしょうか? つまり、私がしていることは データ→入力規則→入力値の種類を「リスト」にする→元も値を「○、×が入力してあるセル を選択しているのです。」 この、元の値のセルの値が邪魔なのです。 どうぞ、よろしくお願いします。

  • Excel:既入力項目をドロップダウンリストに(入力規則?)

    Excelで、 ある列に簡単な文字列を入力していっているのですが、 それまでに同じ列で入力したのと同じ内容を入力する際に、 ドロップダウンリストを使いたいと思っております。 入力リストとも思うのですが、内容が固定でなく、 新たな内容を入力したら、それもリストで 使えるようにしたいです。 (例) AAA (空白) (空白) BBB (空白) CCC (空白)     ←ここを入力するときに、      AAA・BBB・CCCから選択またはDDDを手入力     ←上でDDDを入力していたらAAA・BBB・CCC・DDDから選択      そうでなければAAA・BBB・CCCから選択 以下ずっとこんな感じ(新項目を入力したら以後それもリストに入ってほしい) このような場合、どのように設定したらよいのか、 お分かりの方がいらっしゃいましたらご回答ください。

  • MSWord2007のドロップダウンリストについて

    MSWord2007で表の中にドロップダウンリストを作成したのですが、 文字列の長さによって表の幅が勝手に変わってしまいます。 表の幅等が変わらないように、プロパティなどでサイズ固定してみたのですが、 ドロップダウンリストから文字列を選択すると、 やはり、表の幅が勝手に変わってしまいます。 普通の文字入力のように、自動改行してくれないものでしょうか? 少し文章では、わかりにくいので、下に例を書きます。 3つのセルがある表に五文字くらい入る幅で作成した場合、 |aa |bbb | ▼ |(▼がドロップダウンリスト) で、ドロップダウンリストの中にあるccccccccを選択すると |aa|bbb|cccccccc| と、左側が圧迫されます。自動改行されません。 本当は一番右端のセルだけ cccccc ccc という風に自動改行になるのが理想なんです。 これは、MSWord2007で可能でしょうか??

  • Excelでドロップダウンから選択する方法の簡易化

    Excel2003 または 2007を使用しています。 入力規則のリストを利用してドロップダウンから選択し セルに入力しています。 リストの項目が多くなった時はどうするのだろうと 過去の質問を調べてINDIRECT関数を用いて 項目を細分化していく方法はわかりました。 <現在の状況>  1. [商品マスター.xls] のファイルを別に作成        2. [入力用.xls] のファイルで[商品マスター.xls]内の項目をグループごとに分けて     名前を定義し、入力規則の値で「=INDIRECT("定義した名前")」を使用して     ドロップダウンリストに表示されるようにする(F1番地のセル)  3. [入力用.xls] のファイルのG1番地のセルに入力規則の値で「=INDIRECT(F1)」を     使用して絞り込んだ結果のみがドロップダウンリストに表示されるようにする  4. [入力用.xls] のファイルのH1番地のセルに入力規則の値で「=INDIRECT(G1)」を     使用して絞り込んだ結果のみがドロップダウンリストに表示されるようにする  5. [入力用.xls] のファイルで最終的に絞り込んだ結果を表示させたいセル番地B2に     「=H1」のようにリンク数式を設定 と、このような操作を繰り返して細分化されたデータをドロップダウンから選んでいるのですが、 もっと簡単に、直接ドロップダウンリストから選べる方法はないですか? 希望としては、メニューなどのように項目にマウスを合わせるとサブメニューが出て、 その中で次の項目にマウスを合わせると、また別のサブメニューが出るように 次々とマウス操作のみで階層的に下のレベルの項目が表示されて 選べるようにしたいのです。 操作方法がわかる方、どうかご指導のほど宜しくお願い申し上げます。

  • ドロップダウンさせるボタンを出したい

    エクセルです。 入力規則→入力値の種類を「リスト」にして範囲を指定するとそのセルにドロップダウンするボタンが出ますよね。 でもそのセルにマウスを乗せないと(セルを有効にしないと)そのボタンって出てきませんよね。 そうではなくて、この下矢印のボタンは常に表示させるやり方を知りたいです。 ドロップダウンするっていうのが、カーソルが乗らないとわからないのって不便な感じがして・・・。 初心者の質問で申し訳ないですが、ご教授ください。 お願い致します。

  • Excel VBA機能で、ドロップダウンリストの選択肢からセルに値を設

    Excel VBA機能で、ドロップダウンリストの選択肢からセルに値を設定したい。 リスト形式のシート(仮にA)の内容を、VBAを使って単票形式のlシート(仮にB)に展開したいと考えています。ところがBのシートには、入力規制のあるセルもあり、ドロップダウンリストからの選択になっています。 今、シートBのセルA1の選択肢を仮に”AAA,BBB,CCC”として、VBAを用いてA1にBBBを設定(選択)する方法をご教示頂きたいと存じます。 ひと通り過去ログは拝見しましたが、恐らく私の見落としとは思うのですが、それらしいものは見当たらないので、質問させて頂きました。宜しくお願いします。

  • ドロップダウンリストで画像をリストにすることは可能でしょうか?

    ドロップダウンリストで使いたいリストのひとつに オートシェイプで作成した画像があるのですが、 何かいい方法はありませんでしょうか? ドロップダウンリストにこだわっているわけではないのですが イメージとしてはひとつのセル内においてのリスト選択で入力規則しか思いつくものがなくて悩んでいます。 宜しくお願い致します。

  • エクセルのドロップダウンリスト

    入力規則のドロップダウンリストですが、次のような使い方は可能でしょうか?また可能なら方法を教えて頂けませんか?よろしくお願いします。 A、B列にドロップダウンリストを設定し、A列のリストに値を複数設定し、B列のリストの値をA列の値によって変化させたいのですが・・・。各列とも、複数行にわたってドロップダウンリストを設定しています。

  • Excelのドロップダウンリストの黄枠が消えない

    Excel2013を使っています。 添付の様な「データの入力規則」の「ドロップダウンリストから選択する」を使用してB21を指定すると、黄枠の[有,否]が消えません。 カーソルを他のセルに移動すると当然消えますが、カーソルをB21に移動すると黄枠が再度出現します。 ドロップダウンリストは他でも使っていますが、このように黄枠が表示されることはありません。 どうしたらB21の黄枠を出ないようにできますか?

  • エクセルの入力規則で複数のリストを選択する方法

    ご教授をお願い致します。 エクセル2003を使っているのですが、 統計というファイルのA1のセルで入力規則を入れようとしています。 今現在、「AAA」というシートにリストを作っておき、(_1という名前で作成) 元の値を「=INDIRECT("_1")」とした、入力規則を作成しています。 今回、新しいシート「BBB」というシートを作成し、そこに新しいリストを作成を考えています。 AAAのシートもしくはBBBのシートにあるものをドロップダウンリストとして 管理のA1で選べるようにするということはできるのでしょうか。 説明の仕方がうまくいきませんが、どなたかご教授をお願い致します。

専門家に質問してみよう