[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『あるセルを入力すると別シートの見出しの色を変えたい』(とらきち)
あるセルに文字を入力すると、別シートの見出しの色を赤に変わるようにしたいんですけど、 何か良い方法ありませんか??
>別シートの見出しの色 これは、 別シートにあるどこかのセルの文字色・背景色 の事ですよね?
条件付書式の設定が使えるのではないかと思いますが 直接シート間参照が出来ませんので 自シートに一度参照する・名前の定義・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)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.