過去ログ

                                Page     134
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼条件付書式設定がTRUEのセルを選びたい  ぉょょ 02/9/26(木) 15:04
   ┗Re:条件付書式設定がTRUEのセルを選びたい  こうちゃん 02/9/26(木) 20:54
      ┗Re:条件付書式設定がTRUEのセルを選びたい  ぉょょ 02/9/27(金) 11:34

 ───────────────────────────────────────
 ■題名 : 条件付書式設定がTRUEのセルを選びたい
 ■名前 : ぉょょ
 ■日付 : 02/9/26(木) 15:04
 -------------------------------------------------------------------------
   こんにちゎ〜。

条件付き書式設定で、
値が1の時にセルの背景を赤色にしている範囲と
値が2の時にセルの背景を赤色にしている範囲があるんですが
赤になっているセルのアドレスを取得することは可能でしょうか?

For Each MyObject In Sheets("詳細").Cells.SpecialCells(xlCellTypeAllFormatConditions)

 If MyObject.FormatConditions(1).Interior.ColorIndex = 3 Then
  MsgBox "赤です!" & MyObject.Address
 Else
  MsgBox "赤じゃないよ!!"
 End If
Next

こう作ってみたんですが、条件付書式設定しているセルで値が1でも2でも
ないセルまで、「赤です!」のメッセージが表示されてしまったので・・・

どなたか、よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:条件付書式設定がTRUEのセルを選びたい  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/9/26(木) 20:54  -------------------------------------------------------------------------
   ぉょょ さん、こんばんは

>条件付き書式設定で、
>値が1の時にセルの背景を赤色にしている範囲と
>値が2の時にセルの背景を赤色にしている範囲があるんですが
>赤になっているセルのアドレスを取得することは可能でしょうか?

> If MyObject.FormatConditions(1).Interior.ColorIndex = 3 Then
この書き方ですと、条件付書式に設定した色が赤のセルはすべてTrueになってしまいます。
つまり条件付書式が設定してあるすべてのセルがTrueになってしまうので

>こう作ってみたんですが、条件付書式設定しているセルで値が1でも2でも
>ないセルまで、「赤です!」のメッセージが表示されてしまったので・・・

ということになります。

つまり、判定条件を、条件付書式の書式が赤で、条件に当てはまるセルの場合Trueと判定する必要があるのです。

「例えば式1と式2の間の値の場合背景を赤にする」条件付書式の場合は、例えばこんな感じで判定します。

Sub test2()
 
 Dim myobject As Range

 For Each myobject In Sheets("詳細").Cells.SpecialCells(xlCellTypeAllFormatConditions)

  If myobject.FormatConditions(1).Interior.ColorIndex = 3 _
   And myobject.Value >= myobject.FormatConditions(1).Formula1 _
   And myobject.Value <= myobject.FormatConditions(1).Formula2 _
   Then
   MsgBox "赤です!" & myobject.Address
  Else
   MsgBox "赤じゃないよ!!"
  End If
 Next

End Sub
 ───────────────────────────────────────  ■題名 : Re:条件付書式設定がTRUEのセルを選びたい  ■名前 : ぉょょ  ■日付 : 02/9/27(金) 11:34  -------------------------------------------------------------------------
   ▼こうちゃんさん、ありがとうございます!!

>> If MyObject.FormatConditions(1).Interior.ColorIndex = 3 Then
>この書き方ですと、条件付書式に設定した色が赤のセルはすべてTrueになってしまいます。
>つまり条件付書式が設定してあるすべてのセルがTrueになってしまうので
>
>>こう作ってみたんですが、条件付書式設定しているセルで値が1でも2でも
>>ないセルまで、「赤です!」のメッセージが表示されてしまったので・・・
>
>ということになります。

おっしゃるとおりですね・・・。早速やってみます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 134