[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「=TODAY」を含む物の条件付き書式』(ズボラ人)
初めまして、皆様のお知恵を貸してください。
エクセルで TODOリストを作っているのですが
期限日の列の入力の際に仕事の順番の関係で
「=TODAY()」や「=TODAY()+7」と入力しているセルがあります。
セル内に「TODAY」と入っているのが一目でわかるように
文字列に下線を引く条件付き書式で設定したいのですが...
特定の文字列に「TODAY」や「*TODAY*」を入力しても
「=FIND("*TODAY*",$G1)<>0」でも
「=COUNTIF($G1,"*TODAY*")」でも
反応はありませんでした。
初心者のためネットで調べても分からなかったため
ここで質問させていただきました。
よろしくお願いします!
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Today関数の入っているセルの値に下線を引きたいということですか? それなら「特定の文字列」では関数ではなくセルの値を見てしまいます。 条件付き書式で「指定の値を含むセルだけを書式設定」「セルの値」「次の値に等しい」「=Today()」 または「指定の値を含むセルだけを書式設定」「セルの値」「次の値より大きい」「=Today()」 だと思います。 (2Win) 2017/02/21(火) 11:24
後出しになってしまうのですが、
「2017/02/21」を入力しているところもあれば
「=TODAY()」と入力しているものもあります。
2Winさんの回答通りに設定すると、
<<条件付き書式で「指定の値を含むセルだけを書式設定」「セルの値」「次の値に等しい」「=Today()」
「2017/02/21」と入力されているセルも書式変更されてしまいました。
<<または「指定の値を含むセルだけを書式設定」「セルの値」「次の値より大きい」「=Today()」
今日の日付以外のセルが書式変更されてしまいました。
説明下手ですみません(>_<;)
(ズボラ人) 2017/02/21(火) 11:45
2013以降であればFORMULATEXT関数が使えるのだが2010であればVBAか4.0マクロ関数ということになると思うが。 (ねむねむ) 2017/02/21(火) 11:59
値じゃなく、数式の中のTodayを探すということですか。 そうなるとねむねむさんがおっしゃるようにマクロになってしまいますね。
一応、簡単なものを記載しておきます。 標準モジュールに貼り付けて実行してみてください。 A列しか探していません。
Sub kensaku() Dim myRange As Range Set myRange = Columns("A").Find(what:="today") If myRange Is Nothing Then Exit Sub Else myRange.Font.Underline = xlUnderlineStyleSingle End If End Sub (2Win) 2017/02/21(火) 12:39
Sub kensaku() Dim myRange As Range Set myRange = Columns("G").Find(what:="TODAY") If myRange Is Nothing Then Exit Sub Else myRange.Font.Underline = xlUnderlineStyleSingle End If End Sub
に変更して標準モジュールに貼り付けて実行してみたのですが、
書式が変更されませんでした...
マクロも勉強中なので、何が間違っているか全然わからないです(;_;)
条件付き書式のように入力したら勝手に切り替るようにしたかったのですが
この条件では難しいみたいですねorz
(ズボラ人) 2017/02/21(火) 13:39
4.0マクロ関数を使ったもの。 まず、A1セルを選択した状態で数式-名前の定義で名前に「siki」参照範囲に「=GET.CELL(6,A3)」と設定する。
次に条件付き書式で =FIND("TODAY",siki) としてみてくれ。 (ねむねむ) 2017/02/21(火) 13:52
すまない、「=GET.CELL(6,A3)」は「=GET.CELL(6,A1)」としてくれ。 (ねむねむ) 2017/02/21(火) 13:53
G列に=TODAY()以外の数式がないなら
Sub kensaku()
Dim r As Long
For r = 1 To Cells(Rows.Count, "G").End(xlUp).Row If Cells(r, "G").HasFormula Then Cells(r, "G").Font.Underline = xlUnderlineStyleSingle Next
End Sub (bi) 2017/02/21(火) 13:57
ですが、biさんのコードを他の物に組み込んだ事によって変えれることが出来ました!
皆さん、ご協力ありがとうございました!
(ズボラ人) 2017/02/21(火) 14:47
手順のどこがわからなかったのだろうか? A1セルを選択した状態で「数式」タブの「定義された名前」の名前の定義を開き「範囲」と「参照範囲」を 定義しその後は条件付き書式を設定するだけだが。 (ねむねむ) 2017/02/21(火) 14:54
出遅れてますが一例です。 対象領域をシート全体にしていますが、列指定等が必要なら、お好きなように変更してください。
Sub Sample() Dim r As Range Dim c As Range
On Error Resume Next Set r = Cells.SpecialCells(xlCellTypeFormulas) On Error GoTo 0
If r Is Nothing Then Exit Sub
For Each c In r If LCase(c.Formula) Like "*today*" Then c.Font.Underline = xlUnderlineStyleSingle Next
End Sub
( β) 2017/02/21(火) 14:55
希望通りの設定になったので、とても嬉しいです!(^^)
ありがとうございます!
皆さん、お忙しい中ありがとうございました!
(ズボラ人) 2017/02/21(火) 15:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.