アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの表でBB1のセルに入力した日付以前の日付が入力されているセルに色を付けたいのですが、どのようにしたら?
条件式書式を使おうかと思っているのですが・・・
色々な方法を教えてください

A 回答 (6件)

まず マクロを使うやり方があります。



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.value < range("BB1").value Then
Target.Interior.ColorIndex = 2
End If
End Sub

未確認ですが、こんな感じにすると赤くなると思います。
    • good
    • 0

お考えの通り、条件付日付が一番簡単じゃないでしょうか?


でしたら、セルに色をつけるとか、文字の色を変えるとか、フォントを変えるとかの選択が出来ますから。

色々とあるでしょうが、これが一番のお勧めですが。
    • good
    • 0

こんばんわ。

1行目をタイトル行・BB1のセルに入力した日付以前の日付が入力されているセルをA列としてサンプルマクロを組んでみました。次のように操作してみて下さい。

Public WithEvents App As Application

Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim myCnt As Integer
Dim i as Integer

If Target.Address <> Range("BB1").Address Then Exit Sub
myCnt = cells(rows.count,1).end(xlup).Row
for i = 2 to myCnt
If cells(i,1).value < range("BB1").value Then
cells(i,1).Interior.ColorIndex = 34
End If

End Sub

2.次に画面左上のVBAProjectと書かれている下のThisWorkbookをダブルクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。

Dim myClass As New Class1

Private Sub Workbook_Open()

Set myClass.App = Application

End Sub

3.保存してブックを終了し、再度立ち上げる。

BB1に値を入力してみて下さい。貴方様の思い通りの動作が実現できます。

ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。私のわかる範囲でご一緒に考えていきたいと思います。
    • good
    • 0

こんばんわ。

マクロの記述ミスをしてしまいました。前回のコードは破棄して下記のコードをコピー&ペーストして下さい。

1.データの入っているブックを立ち上げ、ALT+F11キーを押してVBE画面を表示させ、画面左上のVBAProjectと書かれている上にマウスポインターを合わせて右クリック後、挿入→クラスモジュールを順にクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。

Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim myCnt As Integer
Dim i As Integer

If Target.Address <> Range("BB1").Address Then Exit Sub
myCnt = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To myCnt
If Cells(i, 1).Value < Range("BB1").Value Then
Cells(i, 1).Interior.ColorIndex = 34
End If
Next i
End Sub

2.次に画面左上のVBAProjectと書かれている下のThisWorkbookをダブルクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。

Dim myClass As New Class1

Private Sub Workbook_Open()

Set myClass.App = Application

End Sub

3.保存してブックを終了し、再度立ち上げる。

BB1に値を入力してみて下さい。貴方様の思い通りの動作が実現できます。

ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。私のわかる範囲でご一緒に考えていきたいと思います。
    • good
    • 0
この回答へのお礼

いつも丁寧に記入して頂いて有難うございます。今回は簡単な書式設定で行うことにしました。また教えてください。

お礼日時:2002/11/20 11:57

 [条件付き書式(D)]で簡単にできました。

    • good
    • 0

既に回答が出ていますが、


(1)VBA
    ・バッチ処理
    ・即時処理(イベント利用)
(2)条件付書式の操作
   日付けは詰まるところシリアル値(11月19日は   37579)なので、ある数より小さい値のセルに   色をつけるに帰着します。
(3)関数式--関数式ではセルやフォントに色を付けら  れないので、この方法では実現不能。
念のため操作は
たとえのデータとしてA1:A5に
2002/11/2
2002/3/5
2002/4/5
2002/10/12
2002/4/30
といれて
E1にたとえとして2002/5/1を入れる。
(1)A1:A5を範囲指定
(2)書式
(3)条件付指定
(4)セルの値が
(5)次の値より小さい
(6)E1
(7)書式
(8)パターン
(9)OK
(10)OK
でA2,A3,A5のセルに色が付く。
    • good
    • 1
この回答へのお礼

詳しく教えてくださって有難うございます。早速設定しました!

お礼日時:2002/11/20 11:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています