[[20090513085535]] 『あるセルを入力すると別シートの見出しの色を変え』(とらきち) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『あるセルを入力すると別シートの見出しの色を変えたい』(とらきち)

  あるセルに文字を入力すると、別シートの見出しの色を赤に変わるようにしたいんですけど、
 何か良い方法ありませんか??

 >別シートの見出しの色
 これは、
  別シートにあるどこかのセルの文字色・背景色
 の事ですよね?

 条件付書式の設定が使えるのではないかと思いますが
 直接シート間参照が出来ませんので
 自シートに一度参照する・名前の定義・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.