『あるセルを入力すると別シートの見出しの色を変えたい』(とらきち)  あるセルに文字を入力すると、別シートの見出しの色を赤に変わるようにしたいんですけど、 何か良い方法ありませんか?? ---- >別シートの見出しの色 これは、  別シートにあるどこかのセルの文字色・背景色 の事ですよね? 条件付書式の設定が使えるのではないかと思いますが 直接シート間参照が出来ませんので 自シートに一度参照する・名前の定義・INDIRECT関数の使用 等対策が必要になります。 (HANA) ---- シートタブかも。(ROUGE) ---- >シートタブかも やっぱりそうですかね。 そんな気もしたので一応確認を と思ったのですが。 シートタブでしたら、マクロになりますね。 別シート = Sheet1なら Sheets("Sheet1").Tab.ColorIndex = 3 (HANA) ---- 説明不足ですいません。 シートタブのことです。 例えば、A1のセルに文字を入力したら、Sheet2のタブ色が赤になるには どのようなマクロになるでしょうか?? (とらきち) ---- なさりたいことの全体を、説明してみられてはどうでしょう。 変更するのは常にSheet2のタブの色なのですか? A1セルの値によって、変更するシートは 変わるのではないかと思いますが。 また、別の文字が入力されたら 元に戻す なんて作業が必要に成りそうに思いますが。 (HANA) ---- 作業としては、A1のセルに文字が入力されたら、Sheet2のタブの色が赤になり、 A1のセルの文字が消去されたら、Sheet2のタブの色は元の状態「色なし」に戻る内容です。 変更するのは常にSheet2のタブの色です。 A1のセルに入力する文字は何でも構いません。とりあえず何か文字が入力されたら、Sheet2のタブの色が変わってほしいです。 (とらきち) ---- こんな感じでどうでしょう。 '------ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Sheets("Sheet2") If Target.Value = "" Then .Tab.ColorIndex = -4142 Else .Tab.ColorIndex = 3 End If End With End Sub '------ 入力をするシートのシートタブを右クリックし コードの表示(V)で出てくる画面に貼り付けて下さい。 (HANA) ---- ありがとうございました。 ---- HANAさん、複数貼り付けの場合も想定してくださいね^^ (ROUGE)   Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Sheets("Sheet2").Tab.ColorIndex = IIf(Len(Range("A1").Value) > 0, 3, -4142) End If End Sub ---- 「エラーにならない」事ばかり気にしてましたが Target.Address <> "$A$1" ではじかれる って事ですね。 分かりました。 (HANA) ---- 追加でお尋ねしたいんですけど・・・  フォームのチェックボックスを使って、チェックを入れたら、sheet2のタブの色が赤に変わり、 チェックをはずすと、sheet2のタブの色が「色なし」に戻るには、どうしたら良いでしょうか??  コントロールツールボックスのチェックボックスではなくて、 フォームのチェックボックスを使用したいです。 (とらきち) ---- コントロールツールボックスのチェックボックスの方が簡単ですが、何故だめなんでしょうか?   標準モジュールに下記コードを貼り付けて、チェックボックスにこのマクロを登録してください。   Sub Torakichi() Sheets("Sheet2").Tab.ColorIndex = _ IIf(Sheets("Sheet1").Shapes(Application.Caller) _ .ControlFormat.Value = 1, 3, -4142) End Sub   (ROUGE) ---- フォームのチェックボックスをすでに使用しているので、 統一したいからです。 不可能でしょうか?? (とらきち) ----   [[20090521163423]]『フォームのチェックボックスを使って、シートの見出しの色を変えたい』(とらきち) (HANA) ----   えっと、とらきちさん、私が提示したコードは''フォームのチェックボックス''のためのものです。 試されていないのでしょうね。。。   コントロールツールボックスを利用するものであれば、   Private Sub CheckBox1_Click() Sheets("Sheet2").Tab.ColorIndex = IIf(Me.CheckBox1.Value, 3, -4142) End Sub   といったイベントで処理できます。   (ROUGE)