Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12268 / 13644 ツリー ←次へ | 前へ→

【11238】期限がきたらセルのパターンを変えたいのですが 静寺 04/3/3(水) 16:09 質問
【11244】Re:期限がきたらセルのパターンを変えたい... BOTTA 04/3/3(水) 18:51 回答
【11277】Re:期限がきたらセルのパターンを変えたい... 静寺 04/3/4(木) 16:24 お礼
【11293】Re:期限がきたらセルのパターンを変えたい... BOTTA 04/3/4(木) 18:08 回答
【11382】Re:期限がきたらセルのパターンを変えたい... koshimizu 04/3/8(月) 10:19 質問
【11383】Re:期限がきたらセルのパターンを変えたい... IROC 04/3/8(月) 10:52 回答
【11384】Re:期限がきたらセルのパターンを変えたい... show 04/3/8(月) 11:39 発言
【11386】Re:期限がきたらセルのパターンを変えたい... koshimizu 04/3/8(月) 12:51 質問
【11388】Re:期限がきたらセルのパターンを変えたい... IROC 04/3/8(月) 13:59 回答
【11391】Re:期限がきたらセルのパターンを変えたい... koshimizu 04/3/8(月) 14:21 質問
【11392】Re:期限がきたらセルのパターンを変えたい... IROC 04/3/8(月) 14:52 回答
【11405】Re:期限がきたらセルのパターンを変えたい... BOTTA 04/3/8(月) 17:35 回答
【11406】Re:期限がきたらセルのパターンを変えたい... IROC 04/3/8(月) 17:47 回答
【11424】Re:期限がきたらセルのパターンを変えたい... koshimizu 04/3/9(火) 8:22 お礼

【11238】期限がきたらセルのパターンを変えたいの...
質問  静寺  - 04/3/3(水) 16:09 -

引用なし
パスワード
   日付が入力してあるセルが3列あります

残り期限が1年をきったら背景色が黄色
半年を切ったら赤
期限が過ぎてしまったら黒

にしたいのですが、条件付書式を試しましたが上手くいきません。
どうかよろしくお願いいたします。

【11244】Re:期限がきたらセルのパターンを変えた...
回答  BOTTA  - 04/3/3(水) 18:51 -

引用なし
パスワード
   静寺さん、こんにちは。
>残り期限が1年をきったら背景色が黄色
>半年を切ったら赤
>期限が過ぎてしまったら黒
>にしたいのですが、条件付書式を試しましたが上手くいきません。

条件付書式でできると思います。
マクロで書くと、

Sub aaa()
  With Range("A1:C1") '←適宜変更してね
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlCellValue, _
      Operator:=xlLessEqual, _
      Formula1:="=TODAY()"
    .FormatConditions(1).Interior.ColorIndex = 15

    .FormatConditions.Add Type:=xlCellValue, _
      Operator:=xlBetween, _
      Formula1:="=TODAY()+1", _
      Formula2:="=DATE(YEAR(TODAY()),MONTH(TODAY())+6,DAY(TODAY()))"
    .FormatConditions(2).Interior.ColorIndex = 3

    .FormatConditions.Add Type:=xlCellValue, _
      Operator:=xlBetween, _
      Formula1:="=DATE(YEAR(TODAY()),MONTH(TODAY())+6,DAY(TODAY()))+1", _
      Formula2:="=DATE(YEAR(TODAY())+1,MONTH(TODAY()),DAY(TODAY()))"
    .FormatConditions(3).Interior.ColorIndex = 6
  End With
End Sub

日付の計算はややこしい(>_<)

【11277】Re:期限がきたらセルのパターンを変えた...
お礼  静寺  - 04/3/4(木) 16:24 -

引用なし
パスワード
   BOTTAさん ありがとうございます。
参考になりました。
モトイ、これから参考にさせていただきます。
open時に範囲指定して実行するようにすれば良いんでしょうか?

>日付の計算はややこしい(>_<)

ですね。先が長そうですね。
数年前、紹介されたプログラマーさんが
"こんな処理ならaccessと簡単なマニュアル本買えばできますよ!"
とパソコンに触ったこともない私メに申されて、
"それができりゃ、相談しねぇんだよ"とブチ切れた翌日に
いい年こいて無謀にもPCとMSOfficeを買いました。
PC立ち上げるのに3日かかりました。依頼、
みようみまねで、仕事の傍らaccessいじって
さあ仕事に使おうかと思ったら、
周りがaccess入ってないからexcelじゃなきゃって・・・・
基礎知識がないから時間がかかります。
今後ともよろしくお願いいたします。

【11293】Re:期限がきたらセルのパターンを変えた...
回答  BOTTA  - 04/3/4(木) 18:08 -

引用なし
パスワード
   静寺さん、こんばんは。

>open時に範囲指定して実行するようにすれば良いんでしょうか?
このコードを標準モジュールにコピペして
ツール→マクロ→マクロ→実行
です。

With Range("A1:C1") '←この部分のみ範囲変更してください。

>PC立ち上げるのに3日かかりました。依頼、
>みようみまねで、仕事の傍らaccessいじって
>さあ仕事に使おうかと思ったら、
>周りがaccess入ってないからexcelじゃなきゃって・・・・
>基礎知識がないから時間がかかります。
>今後ともよろしくお願いいたします。
お互いにがんばりましょう。

【11382】Re:期限がきたらセルのパターンを変えた...
質問  koshimizu E-MAIL  - 04/3/8(月) 10:19 -

引用なし
パスワード
   BOTTA さん
静寺さん、こんにちは。  koshimizuと申します。

この投稿を見まして、一部変更して使用出来ないかと考えていますが?。
私の場合は、例えば(A1)に日付けがあり期限がきたなら(C5:D10)に色を
付けたいのですが、どのように変更したら良いのかわかりません。
よろしくお願い致します

>Sub aaa()
>  With Range("A1:C1") '←適宜変更してね
>    .FormatConditions.Delete
>    .FormatConditions.Add Type:=xlCellValue, _
>      Operator:=xlLessEqual, _
>      Formula1:="=TODAY()"
>    .FormatConditions(1).Interior.ColorIndex = 15
>  End With
>End Sub

【11383】Re:期限がきたらセルのパターンを変えた...
回答  IROC  - 04/3/8(月) 10:52 -

引用なし
パスワード
   >私の場合は、例えば(A1)に日付けがあり期限がきたなら

期限はどのような条件ですか?
何と比べて判断すればよいのでしょうか?

【11384】Re:期限がきたらセルのパターンを変えた...
発言  show  - 04/3/8(月) 11:39 -

引用なし
パスワード
   ▼koshimizu さん:
>BOTTA さん
>この投稿を見まして、一部変更して使用出来ないかと考えていますが?。
>私の場合は、例えば(A1)に日付けがあり期限がきたなら(C5:D10)に色を
>付けたいのですが、どのように変更したら良いのかわかりません。

いろいろ試してみましたかね?
やってみるうちに、他の使い方等がわかって自分なりに勉強になると思うのですが・・・

>>Sub aaa()
>>  With Range("C5:D10") '←適宜変更してね
>>    .FormatConditions.Delete
>>    .FormatConditions.Add Type:=xlCellValue, _
>>      Operator:=xlLessEqual, _
>>      Formula1:="=TODAY()" ←ここを参照したいセルに変えれば出来ますよ。
>>    .FormatConditions(1).Interior.ColorIndex = 15
>>  End With
>>End Sub

この場合ですと、C5:D10に期限を書き、参照したいセル(=TODAYのところで変えたセル)に=TODAY()とでも打てば出来るでしょう。

【11386】Re:期限がきたらセルのパターンを変えた...
質問  koshimizu E-MAIL  - 04/3/8(月) 12:51 -

引用なし
パスワード
   BOTTAさん
show さん
こんにちは。
解答いただきましたありがとうございます。試しましたが上手くいきません。
申し訳ありませんが、よろしくお願い致します。

(A1)に日付けが記入してあり(例2004/4/1)、4/1になったなら、
C5:D10の範囲に色をつけたいのですが。

>>>Sub aaa()
>>>  With Range("C5:D10") '←適宜変更してね
>>>    .FormatConditions.Delete
>>>    .FormatConditions.Add Type:=xlCellValue, _
>>>      Operator:=xlLessEqual, _
>>>      Formula1:="=TODAY()" ←ここを参照したいセルに変えれば出来ますよ。
>>>    .FormatConditions(1).Interior.ColorIndex = 15
>>>  End With
>>>End Sub
>
>この場合ですと、C5:D10に期限を書き、参照したいセル(=TODAYのところで変えたセル)に=TODAY()とでも打てば出来るでしょう。

【11388】Re:期限がきたらセルのパターンを変えた...
回答  IROC  - 04/3/8(月) 13:59 -

引用なし
パスワード
   ブックを開いたときに

A1の日付 と パソコンのシステム日付 を比較して、

A1の日付が、パソコンの日付と同じもしくは過ぎていたら

色つけ処理をするということでしょうか?

【11391】Re:期限がきたらセルのパターンを変えた...
質問  koshimizu E-MAIL  - 04/3/8(月) 14:21 -

引用なし
パスワード
   IROC さん  たびたびすみません。
>ブックを開いたときに
>A1の日付 と パソコンのシステム日付 を比較して、
>A1の日付が、パソコンの日付と同じもしくは過ぎていたら
>色つけ処理をするということでしょうか?
その通りです。
C5:D10に色をつけたいのです。
説明が下手で申し訳ありません
>>Sub aaa()
  With Range("A1")  '("C5:D10")この範囲のみ色を付ける記述がわかりません
>>    .FormatConditions.Delete
>>    .FormatConditions.Add Type:=xlCellValue, _
>>      Operator:=xlLessEqual, _
>>      Formula1:="=TODAY()"
>>    .FormatConditions(1).Interior.ColorIndex = 1
>>  End With
>>End Sub

【11392】Re:期限がきたらセルのパターンを変えた...
回答  IROC  - 04/3/8(月) 14:52 -

引用なし
パスワード
   ThisWorkBookモジュールに記述して下さい。

Private Sub Workbook_Open()
With Worksheets("Sheet1")

  If .Range("A1").Value >= Date Then
    .Range("C5:D10").Interior.ColorIndex = 36
  End If
  
End With
End Sub

【11405】Re:期限がきたらセルのパターンを変えた...
回答  BOTTA  - 04/3/8(月) 17:35 -

引用なし
パスワード
   IROCさん、こんにちは。
ちょっとごめんなさい。

「日付が過ぎていた」なら
>ThisWorkBookモジュールに記述して下さい。
>
>Private Sub Workbook_Open()
>With Worksheets("Sheet1")
>
>  If .Range("A1").Value >= Date Then
              ↓
   If .Range("A1").Value <= Date Then

【11406】Re:期限がきたらセルのパターンを変えた...
回答  IROC  - 04/3/8(月) 17:47 -

引用なし
パスワード
   >>  If .Range("A1").Value >= Date Then
>              ↓
>   If .Range("A1").Value <= Date Then

おおっ?!
これは失礼しました。

BOTTA さん フォローありがとうございます。(^^ゞ

【11424】Re:期限がきたらセルのパターンを変えた...
お礼  koshimizu E-MAIL  - 04/3/9(火) 8:22 -

引用なし
パスワード
   IROC さんBOTTAさん おはようございます。
解答ありがとうございます。
色々試して見ました。Dateだけで作動することがわからず、
A1にToday関数を入れておき下記の
 If .Range("A1").Value >= Date Then
              ↓
   If .Range("A1").Value >= 38078 Then ’(4/1)

を入れて遅くに解決しましたが、DateだけでOkなんですね。
勉強になりました。朝から気分爽快です。今後ともよろしくお願い致します。

12268 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free