Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1265 / 13645 ツリー ←次へ | 前へ→

【75336】テキストボックスの背景色 青空 14/2/13(木) 11:47 質問[未読]
【75340】Re:テキストボックスの背景色 HARA 14/2/13(木) 21:49 回答[未読]
【75347】テキストボックスの背景色 青空 14/2/15(土) 18:49 質問[未読]
【75348】Re:テキストボックスの背景色 γ 14/2/15(土) 22:37 発言[未読]
【75350】テキストボックスの背景色 青空 14/2/16(日) 9:35 質問[未読]
【75353】Re:テキストボックスの背景色 あきな 14/2/16(日) 15:36 回答[未読]
【75358】テキストボックスの背景色 青空 14/2/20(木) 8:58 お礼[未読]
【75356】Re:テキストボックスの背景色 γ 14/2/16(日) 19:47 発言[未読]
【75349】Re:テキストボックスの背景色 あきな 14/2/15(土) 22:39 発言[未読]

【75336】テキストボックスの背景色
質問  青空  - 14/2/13(木) 11:47 -

引用なし
パスワード
   条件分岐によってテキストボックスの背景色の色を変更する方法が知りたくて
質問します。

E1が"有効"であれば背景色を"黄色"、無効であれば赤に変更したいと思います。

よろしくお願いします。

【75340】Re:テキストボックスの背景色
回答  HARA  - 14/2/13(木) 21:49 -

引用なし
パスワード
   IF RANGE("E1")="有効”THEN

With ActiveSheet.Shapes("テキスト ボックス 1")
  .Fill.ForeColor.RGB = RGB(255, 255, 0)
End With

ELSEIF RANGE("E1")="無効” then

With ActiveSheet.Shapes("テキスト ボックス 1")
 .Fill.ForeColor.RGB = RGB(255, 0, 0)
End With

end if
とかではないですか.

【75347】テキストボックスの背景色
質問  青空  - 14/2/15(土) 18:49 -

引用なし
パスワード
   HARAさん 回答ありがとうございます。


With ActiveSheet.Shapes("テキスト ボックス 1")
  .Fill.ForeColor.RGB = RGB(255, 255, 0)のコードのところで
指定した名前にアイテムがみつかりませんとメッセージがでます。
申し訳ありませんが対処方法を教えていただけませんか

よろしくお願いします。

【75348】Re:テキストボックスの背景色
発言  γ  - 14/2/15(土) 22:37 -

引用なし
パスワード
   横入り失礼。

テキストボックスには、図形のもの、ActiveXコントロールと
いくつかありますから、それを明確にする必要があります。

>指定した名前にアイテムがみつかりませんとメッセージがでます。
>申し訳ありませんが対処方法を教えていただけませんか
まさに、"テキスト ボックス 1"という名前が現実にあるものと違うということ。

それを選択状態にして、ワークシート左上にある
「名前ボックス」に表示される「名前」を確認して、それを指定してください。

【75349】Re:テキストボックスの背景色
発言  あきな  - 14/2/15(土) 22:39 -

引用なし
パスワード
   ▼青空 さん:

2点、教えてください

(1)テキストボックスの名前は「テキスト ボックス 1」で合ってる?

(2)テキストボックスがあるのは、ワークシート上?それともユーザーフォーム上?

【75350】テキストボックスの背景色
質問  青空  - 14/2/16(日) 9:35 -

引用なし
パスワード
    γさん、あきなさん回答ありがとうございます。


説明不足でした。

テキストボックスは、ユーザーフォーム上で使用します。

タイトルは、TEXTBOX3で使用します。

よろしくお願いします。

【75353】Re:テキストボックスの背景色
回答  あきな  - 14/2/16(日) 15:36 -

引用なし
パスワード
   ▼青空 さん:

こんな方法では、いかがでしょう

(1)ユーザーフォーム上に、テキストボックスを2つ用意する
    ユーザーフォームのCaptionを [ UsesForm1 ]
    テキストボックスのオブジェクト名を [ TextBox1 ][ TextBox2 ]とします

(2)[ TextBox2 ] の「ControlSource」に「E1」を設定

(3)[ TextBox1 ] の「Changeイベント」にプロシージャを作成

     Private Sub TextBox2_Change()
       If TextBox2の値が有効なら
         TextBox1の色を黄色
       ElseIf TextBox2の値が無効なら
         TextBox1の色を赤色
       End If
     End Sub

(4)標準モジュールに、ユーザーフォームをモードレスで開くためのプロシージャを作成

     Sub UFopen()
       UserForm1.Show vbModeless
     End Sub

【75356】Re:テキストボックスの背景色
発言  γ  - 14/2/16(日) 19:47 -

引用なし
パスワード
   >テキストボックスは、ユーザーフォーム上で使用します。
そういう気も少ししたのですが、
それなら、
With ActiveSheet.Shapes("テキスト ボックス 1")
というコードに対して、すぐに反応してもらわないと。

プロパティウインドウを開いて、
テキストボックスの背景色を操作してみてください。
・どんなプロパティを使うのか
・色を表す数値は何か、
などが判明するのではないですか?
(RGBを使う方法もあるかとは思いますが。)

# 結果もさることながら、どのようにそれに到達するかを知ることが
# 大切だと思います。トライしてみてください。

【75358】テキストボックスの背景色
お礼  青空  - 14/2/20(木) 8:58 -

引用なし
パスワード
   ▼あきなさん

お礼が遅くなり申し訳ありません

ヒントをいただきありがとうございました

1265 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free