Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Excel 2010)
今日よりも先なら斜体
投稿日時: 18/06/29 10:52:31
投稿者: you_ku

エクセルのリストを作成しています。
L,M,R列に『YY/MM/DD』の形で年月日を入力しています。
 
その日付が、今日を含めた先の日付なら斜体で表示。
昨日から以前は、標準フォントと指示できますでしょうか?
 
なお、L,M,Rは日付未確定のところがあり、空欄箇所が存在します。
 
 
よろしくお願いいたします。

回答
投稿日時: 18/06/29 11:44:59
投稿者: mattuwan44

Sub test()
    Dim rngTarget As Range
    Dim c As Range
    Dim v As Variant
 
    With ActiveSheet
        Set rngTarget = Intersect(.UsedRange, Range("L:L,M:M,R:R"))
    End With
    If rngTarget Is Nothing Then Exit Sub
    rngTarget.Font.FontStyle = "標準"
 
    For Each c In rngTarget
        v = c.Value
        If TypeName(v) = "Date" Then
            If Date <= v Then
                c.Font.FontStyle = "斜体"
            End If
        End If
    Next
End Sub
 
まずは探索するセル範囲を特定し、そのセル群を巡回しました。
あとは、各セルに日付があれば、今日と比較して、
今日以降なら斜体とするだけですよね?

回答
投稿日時: 18/06/29 12:17:05
投稿者: Suzu

you_ku さんの引用:
その日付が、今日を含めた先の日付なら斜体で表示。
昨日から以前は、標準フォントと指示できますでしょうか?

 
この、「今日」は、
・入力したタイミングでの今日
・ファイルを開いた日付の今日
 
どちらでしょうか。
 
私なら
前者なら、マクロVBA
後者なら、条件付き書式
にて実施します。
 
具体的に何が判らないのでしょうか。
マクロの記録は試されましたか?

回答
投稿日時: 18/06/30 10:13:08
投稿者: WinArrow
投稿者のウェブサイトに移動

VBAでなくても
 
一般機能の条件付き書式で対応できますが・・・
 
(1)適用する範囲を選択
(2)条件付き書式
(3)新しいルール
(4)指定の値を含むセルだけ〜
(5)「セルの値」→「次の値以上」→「=TODAY()」
(6)書式設定・・・斜体
(7)「OK」
 
 
 

回答
投稿日時: 18/06/30 14:24:16
投稿者: WinArrow
投稿者のウェブサイトに移動

追加レス
  
Suzuさんのレスの中に
>・入力したタイミングでの今日
 とありましたが、
 若し、こちらでしたら・・
  
この「今日」という日付をどこかに記憶しておく必要があります。
 (例、特定のセル)
  
条件付き書式で対応する場合は、
↑の「=TODAY()」を、特定のセルに変えることになりますが、絶対参照で指定すればよいです。
  
 >なお、L,M,Rは日付未確定のところがあり、空欄箇所が存在します。
 空白セルにも条件付き書式を設定しても全く問題ありません。
  
しかし、この文章だけでは、あなたの意図が伝わりません。
 未定セル(空欄)について、どのようにしたいのか?を書いてほしいです。
  
  

トピックに返信