• 締切済み

Excel2010 ラベルの表示非表示方法

Excel2010 セルの値によって、コントロールラベルを表示非表示にしたいですが、 初心者のため、検索してもよくわからないため教えてください。 例:A1 にリストを置き、ラベルAを選択すればラベルAが表示される ラベルBを選択すればラベルAが非表示になる、ラベルBが表示される。 お願いいたします。   

みんなの回答

回答No.1

こんにちは。 > セルの値によって、コントロールラベルを表示非表示にしたいですが、 "コントロールラベル"という書き方だと、  ラベル(フォーム コントロール)  ラベル(ActiveX コントロール) の区別が付きませんから、こちらの答も2通りになります。 > 例:A1 にリストを置き、ラベルAを選択すればラベルAが表示される > ラベルBを選択すればラベルAが非表示になる、ラベルBが表示される。 "例"に副ってこちらも例でお応えすれば、そちらで応用できる ということでよろしいでしょうか? とりあえず、"A1"というセル参照の部分は適宜書き換えてください。 "A1 にリストを置き"のリストというのも、  フォーム コントロール  ActiveX コントロール  [データの入力規則][リスト] 等、ありますが、なんであれ、リストから選択すると、 A1の値に反映される、という設定になっているという前提でお応えします。 リストの中身が、ラベルを指し示す文字列、であることは解りますが、 "ラベルA"、"ラベルB"というのは、それぞれのラベルの 表示文字列ではなく、ラベルの名前(オブジェクト名)ですよね? "ラベルAを選択すればラベルAが表示される"という場合、 ラベルBを非表示にする、という意図なのだと解釈してお応えしています。 (そうでないと、"ラベルBが表示される"という処理が必要なくなりますから) "A1 にリスト"、"ラベルA"、"ラベルB"が配置されているシート、 のシートタブを右クリックして→[コードの表示]をクリック →表示された Sheetモジュール に 以下の記述のどちらかひとつを選んでコピペします。 後は、実際にA1の値を変更して、動作を確認してください。 ' ' ■■■ラベル(フォーム コントロール)の場合■■■ Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Count > 1 Then Exit Sub   If Target.Address(0, 0) <> "A1" Then Exit Sub ' ◆要指定 "A1" ?   Select Case Target.Value   Case "ラベルA"     Shapes("ラベルA").Visible = True ' ★ラベルのオブジェクト名を正しく指定     Shapes("ラベルB").Visible = False ' ★   Case "ラベルB"     Shapes("ラベルA").Visible = False ' ★     Shapes("ラベルB").Visible = True ' ★   End Select End Sub ' ' ■■■ラベル(ActiveX コントロール)の場合■■■ Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Count > 1 Then Exit Sub   If Target.Address(0, 0) <> "A1" Then Exit Sub ' ◆要指定 "A1" ?   Select Case Target.Value   Case "ラベルA"     ラベルA.Visible = True ' ★ラベルのオブジェクト名を正しく指定     ラベルB.Visible = False ' ★   Case "ラベルB"     ラベルA.Visible = False ' ★     ラベルB.Visible = True ' ★   End Select End Sub

関連するQ&A

  • VBA 上位3位までの値をラベルに表示するには

    いつもお世話になっております。 初心者ですが、宜しくお願いします。 ご教授願いたいのは、上位3位までと、下記3位までの値を抽出し、 それぞれをユーザーフォーム上のラベルへ表示したいのです。 (例 ( sheet1 )   A   1 20   2 15  3 40  4 25  5 30  6 60  7 55      ↓ ↓ ユーザーフォームには ラベル1 ~ ラベル6まであります。 上記のA列の中から上位3位までを抽出し、ラベル1~ラベル3へ表示。 ラベル4~ラベル6に下位3件の値を抽出、表示させたいのです。 現在は手動でLARGE関数、SMALL関数で一度sheet2に書き出した後、 そのセルの値を表示するようにしていますが、 値も日々動的に増えていきますので、 別シートを使わず直接プログラムできればと思います。 素人のためうまく説明できませんが、 どうぞ皆様のお知恵をお貸しください。 宜しくお願いいたします。

  • 【EXCEL】文字列抽出および表示の式について

    【EXCEL】文字列抽出および表示の式について EXCEL初心者です。 以下のように、A列はリストによる選択入力。B列、C列は、A列のリストで選択した値(文字列) を元に文字列を自動入力したいと思っています。 A列のリストの設定は分かるのですが、B列、C列にどのような式を入れれば良いかが分かりません。 (処理内容)  ・A列:リストにより選択形式で入力。リストの値(文字列)は、X列に定義(行数未定)。  ・B列:A列の値(文字列)と同じ値(文字列)をX列より抽出し、右隣のセル(Y列)の値(文字列)を表示  ・C列:B列の値(文字列)と同じ値(文字列)をY列より抽出し、右隣のセル(Z列)の値(文字列)を表示             [A列]   [B列]    [C列]   ・・・    [X列]   [Y列]     [Z列]   [1列目]  aaa   あいうえお   1234        aaa   あいうえお   1234 [2列目]  bbb   かきくけこ   5678        bbb   かきくけこ   5678 [3列目]  eee   たちつてと   3456        ccc   さしすせそ   9012 [4列目]  aaa   あいうえお   1234        ddd   さしすせそ   9012 [5列目]  ddd   さしすせそ   9012        eee   たちつてと   3456   :     :       :      :           :       :      :  よろしくおねがいします。

  • Excel2000 分散図でのデータラベル表示方法

    色 数量 前年差 赤 10 -1,369 青 133 -66 黄 33 -85 黄 96 -27 緑 54 -30 白 25 -11 赤 138 -72 上記データを分散図にしたいと思います。データラベルとして色の名前を表示させるにはどうしたら良いのでしょうか? Xの値にB2:B8、Yの値にC2:C8を選択すると色名が表示されず、XYいずれかにA2:A8を含めると、色名は表示されるものの数字が狂ってしまいます。 ※)X軸を前年差、Y軸を数量とします。

  • EXCEL2000 関数の使い方

    EXCEL2000 関数の使い方についておしえてください。 (状況) 1)シート1(請求書)とシート2(名簿)があります。 シート2は 列A 列B 列C    列D No 氏名 生年月日  年齢 1 A子 H11.11.1  7 2 B男 H13.8.18  5 ..と続いています。 2)シート1のセルB3(宛名欄)にシート2の名簿の中からB列「氏名」(「氏名」という名前で定義つけてあります)をリスト表示しています。 3)セルB3にリストから選択した人物の年齢をシート2から探して年齢(列D)をシート1のセルC32に表示させたいのですが、どのような数式になるでしょうか? VLOOKUP関数を使うのかな?と思ったのですが、シートが分かれていたり、リストとの合致の定義付けがよくわかりません。 検索個所:シート1のセルB3とシート2B列の一致した値 検索範囲:シート2のB1からD35(データという名前で定義付けています) 表示させたいセル個所:シート1のC32 数式の使い方など認識がまちがっていたり、わかりにくい説明になっているかもしれませんが、どうぞよろしくお願いします。

  • EXCEL_ドロップダウンリストで

    EXCEL初心者です EXCEL2007(12.0.6654 5503)SP2を使用しております もしわかりましたら教えてください 入力規則とINDIRECT関数を使用し リストの選択値により、別のリストを連動させたいです。 100A 100B M1 M5 M2 M6 M3 M4 縦に100AからM4までを選択し数式→名前の管理→選択範囲から作成→上端行にチェックし 縦に100BからM6までを選択し数式→名前の管理→選択範囲から作成→上端行にチェックし 100Aと100Bを「TEST」という名前を作成しました。 セルA1に入力規則でリストを選択し=TESTと記入 セルB1に=INDIRECT($A1)といれました セルA1はドロップダウンリストで100A、100Bがでてきますが セルB1はドロップダウンリストの▼マークはでてくるけど M1-M6の内容がでてこず空白です。 どうしたらちゃんとA列で選択したリストに連動しM1-M6のリストがでてくるでしょうか 説明がわかりずらかったらすみません 補足しますのでその旨記載お願いします

  • Excel2010で3つの値のうち最も少ない値

    Excel2010で3つの値のうち最も少ない値を返して、もしその値が空白だったらゼロと認識する。としたいのですが、 どのような関数にしたらよいのでしょうか? どなたかおしえてください。 例) A1:3 A2:5 A3:(空白) この3つのセルのうち最も少ない数を返す。 =MIN(A1,A2,A3) だと、値3が返ってしまいます。空白もゼロと認識して値0を返したいのです。 ですが、この3つのセル以外に空白セルを残すため、Excel昨日の「空白にゼロ値を表示する」を使いたくありません。 どうぞよろしくお願いいたします。

  • Excel2003の貼り付けの機能について

    リンク貼り付けをしたら新しいシートが使われ貼り付けされてしまいますが、この新しいシートを使わないでリンク貼り付けできる方法はないのでしょうか? たとえばExcel2003のファイルAのシートAのセルA1をExcel2003のファイルBのシートBのセルBに貼り付けるとしたら、セルBにはセルAの値が表示されてなおかつ、 そのセルBを選択すると、 =の後にファイルAの場所、ファイルAの名前、シートAの名前そしてセルA1 のように上に表示されるようにしたいのですが簡単にできる方法を教えてください。

  • EXCEL2002でNOW関数により時刻が15分進む毎に,別のセルの値を+1ずつ増加させる方法

    EXCEL2002でセルの時刻(A1)が15分更新されるのに対応させて、他のセル(B1)の数値を+1ずつ増加させる方法を教えて下さい! 例として, A1に9:00 というNOW関数で表示させた値が、9:15⇒9:30⇒9:45⇒10:00 と変化する度に、 B1の値を「1」を初期値として始まり、 1⇒2⇒3⇒4⇒5 と増加させる方法を教えて下さい!

  • Excelの値を%で表示する方法

    「Maicrosoft Excel 2003」についお聞きしたいのですが...。 まず、下のような値が入っていた場合、例えばA1番地のセルの値が全体(A列の全ての値)の何パーセントかをB列に表示させたいのですが...。 よろしくお願いします。     A        B      1   25 2   31 3    8 4   11 5    4 6   23 7    8 8    2 9    7 10    5 11   16

  • Excel関数について

    Excel関数について質問させて下さい。 得点者リスト一覧で 1位から順番に順位を付ける為の関数をお教え下さい。 例:セル1-氏名。 セル2-得点。 セル3-順位を表示したいセル セル1 セル2  セル3 A   100点 B    90点 C   87点 D   111点 上記のようなリストで1位から順位を“セル3”の列に付けたいんです。 以上宜しくお願い致します。

専門家に質問してみよう