Excelでcheckboxがtrueならlabelを太字、任意のセルに1を入力したい

このQ&Aのポイント
  • Excelを使用して、特定の条件下でチェックボックスの値に応じてラベルの表示を変更し、任意のセルに値を入力する方法を教えてください。
  • 質問内容は、Excelのユーザーフォーム上にあるチェックボックスの状態によってラベルの表示を変え、さらに特定のセルに値を入力する方法についてです。
  • Excelのユーザーフォーム上のチェックボックスの状態に応じて、ラベルの表示を変更し、特定のセルに値を入力する方法を教えてください。VBAを使用することになると思います。
回答を見る
  • ベストアンサー

Excelで、checkboxがtrueならlabelを太字、任意のセルに1を入力したい。

質問させて頂きます。 ユーザーフォーム上にあるチェックボックスにチェックを 入れると、同じユーザーフォーム上にあるラベルの値を太字 にして、さらに特定のシートのセルに1を入力。 同じくチェックボックスのチェックを外すとラベルの値を 標準(太字でなくす)にし、特定のセルに入力された1を 消去する。 というようなことがやりたいのですが、可能でしょうか。 全てuserform1にある 1,checkbox1にチェック有り(true)のとき、   →label1の表示(値)を太字   →worksheet1のA1セルに1を入力 2,checkbox1にチェックなし(false)のとき、   →label1の表示(値)を標準文字   →worksheet1のA1セルを空白 ということを、全てチェックボックスのチェック動作 に関連させて行いたいのです。(チェックに連動させたい) おそらくVBAでの作業になるのだと思われますが あまり詳しくないのでよろしくお願いします。

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

  • ベストアンサー
  • ao777
  • ベストアンサー率34% (43/123)
回答No.1

下記のコードを対象のユーザーフォームモジュールに貼り付けて下さい。 Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Label1.Font.Bold = True Worksheets("Sheet1").Range("A1").Value = 1 Else Label1.Font.Bold = False Worksheets("Sheet1").Range("A1").Value = "" End If End Sub

typemode
質問者

お礼

大変素早い回答、ありがとうございました。 思っていた通りのことができて大変満足しています。 本当に感謝です。

関連するQ&A

  • checkboxとlabelがずれる

    以下のhtmlコードがあります。 <input type="checkbox"> <label> 読書 </label> Google Chromで表示すると、チェックボックスと読書という文字の高さ位置がずれています。 何か対処方法はないでしょうか? よろしくお願いします。

    • 締切済み
    • CSS
  • 複数コントロールテキストの同一セルへの入力

    はじめまして。 エクセルVBAについて質問させて頂きます。 ユーザーフォームにラベル・テキストボックスそれぞれ1~6があって ラベルのキャプションとテキストボックスのテキストをセル同一セルに 入力したくて With UserForm1 Range("A1") = .Label1.Caption & .TextBox1.Text & .Label2.Caption & .TextBox2.Text _ & .Label3.Caption & .TextBox3.Text & .Label4.Caption & .TextBox4.Text _ & .Label5.Caption & .TextBox5.Text & .Label6.Caption & .TextBox6.Text End With と、このように記述したのでが、これをもっと簡潔に書く方法はございませんでしょうか? ご教授よろしくお願いします。

  • VBA 変数の受け渡し

    エクセルVBAで標準モジュール内でインプットボックスに入力した変数をユーザーフォームに受け渡してユーザーフォーム内のリストボックスに表示させる場合どのように変数の受け渡しを行えばよいか教えてください。 現在は、一度ワークシートの任意のセルに値を書き出し、その後ユーザーフォームのイニシャライズで先ほどのセルから値を受け取るようにしています。 標準モジュールではインプットボックス入力後「UserForm1.Show」でユーザーフォームの立ち上げを行っています。

  • UserFrom Labelにセルの装飾文字を表示

    Excel 2003 VBAにて UserFormに配置してあるLabelに セルの内容を表示させたいのですが・・・ 値は表示されますが、装飾文字(取り消し線、下線など)も セルの表示内容そのまま Labelにも表示できないのでしょうか? Sub 表示() userform1.Label1 = Range("A1") userform1.Show End Sub

  • エクセルVBAマクロで、一度テキストポックスに入力した値がコピーされて

    エクセルVBAマクロで、一度テキストポックスに入力した値がコピーされてしまう VBAマクロ初心者です。 エクセルVBAマクロで、以下の様なプログラムを作成し計算させていますが、 一度入力した値がテキストポックスに残ってしまい、なんとかならないかなと 思っています。 (1)複数シートにそれぞれコマンドボタンを配置し、クリックすると同じユーザー フォームが立ち上がるようになっています。 (2)そのユーザーフォーム内に、テキストボックスが複数あり、それぞれ値を入力 して計算スタートさせると、ワークシートの1行目から数千行目まで計算して 各行に計算結果を表示します。 (計算は、既に各行に入力済みのデータとこのテキストボックスの値を元に算出されます) (3)次に、別のシートでコマンドボタンをクリックし、ユーザーフォームを立ち上げると、 前のシートで入力した値がそのまま各テキストボックスに入ってしまいます。 (これは、必ず起こる訳ではなく、時々起こるのですが、起こる場合は、コマンドボタン をクリックしてからユーザーフォームが立ち上がるまでの時間が若干短い感じがします) ※一度、上記の計算をさせるとテキストボックスの値がそのシートの特定のセルに入り、 次回ユーザーフォームを立ち上げた際に、テキストボックスに入るようになっています。 (Private Sub UserForm Initialize を使っています) パソコンの構造を、私はよく知らないのですが、おそらく、一度テキストボックスに値 を入力して計算させると、どこかのメモリにそれが残っていて、次にユーザーフォーム を立ち上げた際にそれが入ってしまうのかな、と思っています。 (ただし、もし前の値が入ってしまったとしても、一度そのユーザーフォームを消して から、再度立ち上げると、正常な値(そのシートの特定のセルを参照)が必ず入ります) 何か、プログラムにより、このメモリ?を消す?、あるいはうまく解決する方法など 考えられませんでしょうか? もし、詳しい方がおられましたら、御教示いただけませんでしょうか。 よろしくお願いいたします。

  • Excelで、検索してヒットしたセルの隣のセルに値を入力したい

    Excelで、「検索してヒットしたセルのとなりのセルに、特定の値を 入力する」という作業をスムーズにできる方法を考えています。 具体的には在庫のチェックに使います。A列に品名が6000件ほどあって、 検索してヒットした品名の隣のセル(B列)に"●"を入力する作業です。 ただし、その隣のセル(B列)にはあらかじめ"○"が入力されています。 現在のところ、  ctrl+F で検索 → 該当するセルに"●"をペースト  で処理していますが、もっと効率的な方法をご存じないでしょうか。 少しでもマウスを動かしたりするのを減らしたいのです。 一つ考えているのは、以下のようにマクロを利用することです。 ユーザーフォーム  テキストボックス(検索する文字列の入力用)  コマンドボタン1(検索用)  コマンドボタン2(次を検索)  コマンドボタン3(前を検索)  ラベル(検索してヒットしたセルの値を確認する用)  コマンドボタン4("●"を該当セルに入力する用) ここまでたどり着いたのですが、お手上げになりました。 このような考えを実現するコードをお教えいただけないでしょうか。 あるいは、もっと楽なやり方があるということでしたら、それも お教えいただけないでしょうか。よろしくお願いします。

  • エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。

    表題の通りで、エクセルユーザーフォームにチェックボックスを作成し、そのCaptionにセルの値を入れたい場合、どのようにすればいいのでしょうか。 つまり、シートのセルの値が変われば、ユーザーフォームのチェックボックスの文字が変わっているようにしたいのです。 エクセル2003です。 よろしくお願い致します。

  • Excel VBA セルの内容をTextBoxに

    ExcelのVBAで質問があります。 複数のシートの表に入力した値の合計を出したいのですが、 その後の処理もあり、ユーザーフォームのテキストボックスに反映させたいと考えています。 Windows7のExcel2010で作っています。 試しにセルB1の値が変わった時、 テキストボックスに反映させるつもりで作ったコードは以下の通りですが、 上手くいきません。 Sub Z_test() UserForm2.Show vbModeless End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(False, False) = "B1" Then UserForm2.TextBox1.Value = Range("B1").Value '←※ End If End Sub ※の行には他にも UserForm2.Controls("TextBox1").Value = Range("B1").Value と調べたコードを試してみたのですが、 セルの内容が全く反映されません。 セルB1には数式の「=SUM(C2:C1000)」 が入っており、表のC列に入力された値の合計を求めています。 どなたかお知恵を拝借できれば大変助かります。 宜しくお願い致します。 長文失礼しました。

  • VBA:ユーザフォームのラベルの指定の仕方教えてください。

     今、ユーザフォームに20個のラベルがあります。それぞれのラベルは、条件によりラベルの表示内容が変更します。そこで、ラベルの表示変更が必要なときにすぐに変更できるようにしたいと考えています。しかし、例えば以下のようなコードを作成するとエラーになり困っています。  Label(i)で、iの番号によりラベルが呼び出されないだろうかと自分なりに作りましたがダメでした。以下のようなループ文中で特定のラベルを呼び出し処理することは不可能でしょうか?  やはり、UserForm1.Label3などのように番号をきちんと書かないとダメでしょうか?本当は、ラベルが82個ありその一つ一つにコードを割り当てるのが大変です。また、きれいなコードで書きたいと思うからです。宜しければ、ご教授願います。 -------------------------------------------- Sub セルの値をラベル表示する() For i = 1 To 20 With UserForm1.Label(i) .Caption = Cells(1, i) End With Next i End Sub

  • テキストボックスのセルへの入力について

    初めて利用します。どうしても分からず利用します。 よろしくお願いいたします。 A2セルにMATCH関数にて取得したセル番地が表示されています。 ユーザーフォームのテキストボックスの値をA2セルに表示されたセル番地へ 入力するにはどうしたら良いでしょうか。 ご回答よろしくお願いいたします。

専門家に質問してみよう