Excel VBA質問箱 IV

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

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


16060 / 76734 ←次へ | 前へ→

【66147】Re:【再質問】条件付き書式について
発言  りん E-MAIL  - 10/8/5(木) 16:38 -

引用なし
パスワード
   こんにちわ。

▼助けてください。 さん:
>質問文が説明不足でした申し訳ございません。
>下記に想定と発生した問題を記載いたします。
>ご助力よろしくお願い致します。
>
>>どのように想定したのか?
>マクロに記載の範囲3つ(AreaA1〜AreaA3)に下記のように条件書式を
>2つづつ設定したいと考えております。
>AreaA1 = "$H$56:$X$456"には
> 1)条件 =NOT(EXACT(TRIM($H56),""""))
>  書式 上線
> 2)条件 "=EXACT($BB56,0)"
>  書式 塗りつぶし
>
>今までは上記の条件書式を手動で設定していたのですが、
>対象範囲内でセル結合されると上記範囲が崩れてしまうため、
>マクロで設定し直す機能を追加しようとしております。
>
>>実際にはどうなったのか?
>マクロを実行したところ、
> 「実行時エラー'1004':
>  BorderクラスのLineStyleプロパティを設定できません」
今手元にXL2007がないのですが、XL2007では条件付書式の条件はいくつまで可能なんでしょうか?


Sub Macro9()

↓Q56:X456(areaA3)が3つで重複宣言
  areaA1 = "$H$56:$X$456"
  areaA2 = "$P$56:$X$456"
  areaA3 = "$Q$56:$X$456"
  
  Cells.Select
↓ここで条件つき書式はクリア 
  Selection.FormatConditions.Delete
↓一つ目の条件設定
  Range(areaA1).FormatConditions.Add Type:=xlExpression, Formula1:= _
  "=NOT(EXACT(TRIM($H56),""""))"
↓二つ目の条件設定
  Range(areaA1).FormatConditions.Add Type:=xlExpression, Formula1:= _
  "=EXACT($BB56,0)"
  (略)
↓三つ目の条件設定
  Range(areaA2).FormatConditions.Add Type:=xlExpression, Formula1:= _
  "=NOT(EXACT(TRIM($P56),""""))"
  (略)
↓四つ目の条件設定 areaA3に対しては初めてだけど、実際は4つめ。
  Range(areaA3).FormatConditions.Add Type:=xlExpression, Formula1:= _
  "=NOT(EXACT(TRIM($Q56),""""))"
  (略)
↓五つ目の条件設定
  Range(areaA2).FormatConditions.Add Type:=xlExpression, Formula1:= _
  "=EXACT($BC56,0)"
  (略)
↓六つ目の条件設定
  Range(areaA3).FormatConditions.Add Type:=xlExpression, Formula1:= _
  "=EXACT($AA56,$AA$45)"
  (略)
End Sub
というふうに、areaA3に6つの条件を追加しようとしています。
質問の内容からすると適用したい条件は2つみたいなので、指定する範囲を見直すか、設定する時にクリアするようにしてみては?

範囲をみなおす場合

  areaA1 = "$H$56:$O$456"
  areaA2 = "$P$56:$P$456"
  areaA3 = "$Q$56:$X$456"


設定をクリアする場合(もっとコンパクトにできると思いますが、ざっとwithでくくってあります)

Sub Macro9()
  areaA1 = "$H$56:$X$456"
  areaA2 = "$P$56:$X$456"
  areaA3 = "$Q$56:$X$456"
  '関係ないところにもあるかもしれないので一応
  Cells.FormatConditions.Delete
  '
  With Range(areaA1)
   .Cells(1).Select '数式の基準セル選択(しないと予定外の結果になります)
   .FormatConditions.Delete '初期化
   .FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(EXACT(TRIM($H56),""""))"
   .FormatConditions(1).StopIfTrue = False
   With .FormatConditions(1).Borders(xlTop)
     .Weight = xlThin
     .LineStyle = xlContinuous
   End With
   .FormatConditions.Add Type:=xlExpression, Formula1:="=EXACT($BB56,0)"
   .FormatConditions(2).StopIfTrue = False
   .FormatConditions(2).Interior.ColorIndex = 16
  End With
  '
  With Range(areaA2)
   .Cells(1).Select '数式の基準セル選択(しないと予定外の結果になります)
   .FormatConditions.Delete '初期化
   .FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(EXACT(TRIM($P56),""""))"
   .FormatConditions(1).StopIfTrue = False
   With .FormatConditions(1).Borders(xlTop)
     .Weight = xlThin
     .LineStyle = xlContinuous
   End With
   .FormatConditions.Add Type:=xlExpression, Formula1:="=EXACT($BC56,0)"
   .FormatConditions(2).StopIfTrue = False
   .FormatConditions(2).Interior.ColorIndex = 16
  End With
  '
  With Range(areaA3)
   .Cells(1).Select '数式の基準セル選択(しないと予定外の結果になります)
   .FormatConditions.Delete '初期化
   .FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(EXACT(TRIM($Q56),""""))"
   .FormatConditions(1).StopIfTrue = False
   With .FormatConditions(1).Borders(xlTop)
     .Weight = xlThin
     .LineStyle = xlContinuous
   End With
   .FormatConditions.Add Type:=xlExpression, Formula1:="=EXACT($AA56,$AA$45)"
   .FormatConditions(2).StopIfTrue = False
   .FormatConditions(2).Interior.ColorIndex = 16
  End With
End Sub
1 hits

【66105】条件付き書式について 助けてください。 10/7/30(金) 15:03 質問
【66106】Re:条件付き書式について よろずや 10/7/30(金) 19:06 発言
【66118】Re:条件付き書式について 助けてください。 10/8/2(月) 10:15 質問
【66114】Re:条件付き書式について UO3 10/7/31(土) 18:09 発言
【66119】Re:条件付き書式について 助けてください。 10/8/2(月) 10:18 お礼
【66146】【再質問】条件付き書式について 助けてください。 10/8/4(水) 17:44 質問
【66147】Re:【再質問】条件付き書式について りん 10/8/5(木) 16:38 発言
【66152】Re:【再質問】条件付き書式について 助けてください。 10/8/5(木) 17:40 質問
【66153】Re:【再質問】条件付き書式について りん 10/8/5(木) 18:55 回答
【66160】Re:【再質問】条件付き書式について 助けてください。 10/8/6(金) 9:38 質問
【66190】Re:【再質問】条件付き書式について りん 10/8/6(金) 21:06 発言
【66154】Re:【再質問】条件付き書式について りん 10/8/5(木) 19:07 発言
【66161】Re:【再質問】条件付き書式について 助けてください。 10/8/6(金) 9:45 回答

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