[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IF関数とドロップダウンリストを併用したい』(オタフク)
いつも参考にさせていただいております。
IF関数とドロップダウンリストを併用して、下記の入力が可能かご教示下さい。 下記の入力が出来るのであれば、別の方法でも全く構いません。
具体的には・・・ A1>0ならA2=A1とする。 A1=0ならA2の値はドロップダウンリストから選択する。
エクセルのバージョン:Excel2003 OS:Windows XP です。
どうぞ、よろしくお願いいたします。
ドロップダウンとは入力規則のリストであると推測します。 基本的にドロップダウンから選択するとして、 A1が0より大きければA1の値しか選択できない、という方法は考えられます。 A1=0のときのリストが「list」という名前つきセル範囲であるとします。 A2で入力規則をリストに設定し、「元の値」に次の式を入力。 =IF(A1>0,A1,list) A1が0より大きいときはA1だけが、それ以外はlistの範囲の選択肢が ドロップダウンリストに表示されます。 (みやほりん)(-_∂)b
みやほりん様
ご教示いただきありがとうございます。 教えていただいた式で入力できました!
もし可能であれば、A>0の場合にドロップダウンリストに表示させるのではなく ダイレクトに値を入力させたいです。(選択することなく値が表示される) これは可能でしょうか?
度々で恐縮ですが、ご教示いただけると大変ありがたいです。 よろしくお願いいたします。
(オタフク)
考えても見てください。 A2にIF関数を入力しておいたとします。 で、A1=0のときはリストから選択した値が入力されます。 ^^^^^^^^^^^^ IF関数がリストから選択した値と置き換わってしまうので、 IF関数を入力しておく意味はかなり薄れます。 関数は入力した場所に存在し続けるから便利だと思ってますので。 御質問の仕様を満たすには 「セルA1の値が0以外に変更されたらA2の値をA1と同値にする」というマクロ Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target(1), Range("A1")) Is Nothing Then Exit Sub Application.EnableEvents = False If Target(1).Value > 0 Then Range("A2").Value = Target(1).Value Else Range("A2").Value = "リスト選択" End If Application.EnableEvents = True End Sub (みやほりん)(-_∂)b
みやほりん様
再度、ご教示いただきありがとうございます! おしゃるとおり、関数を入力する意味がなくなってしまいますね・・・ 勉強不足で申し訳ありません。 今回は、教えていただいたマクロで入力しようと思います。 ありがとうございました。
(オタフク)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.