dポイントプレゼントキャンペーン実施中!

以前、同内容の質問をしたのですがお答えいただけなかったので(泣)
マクロで複数シートの書式を変更するものを作りたいのですが、罫線やフォントは変更できるのに条件付き書式だけは先頭シートにしか設定されません。1シートづつ設定するマクロを作るしかないのでしょうか?

A 回答 (3件)

For, Eachを使った例を示しますので、工夫してみてください。


Sub FmCdtn()
  Dim sh As Worksheet
  Dim fc As FormatCondition
  For Each sh In Sheets
    sh.Cells.FormatConditions.Delete
    Set fc = sh.Cells.FormatConditions.Add(xlCellValue, xlEqual, 10)
    fc.Interior.ColorIndex = 5
  Next
End Sub

これを実行すると、すべてのシートで、値が10のセルが青色になります。
    • good
    • 0
この回答へのお礼

うお!すばやい回答ありがとうございます。
早速試すとともにFor,Eachについて調べてみます。

お礼日時:2005/02/05 21:57

検証してみましたが、複数シートを同時に選択した場合は、おっしゃるとおりの動作になりますね。

バグと言ってもいい様な気がしますね、、、
#1さんの様にForループで回すしかないようです。
    • good
    • 0
この回答へのお礼

やはり…条件付き書式だけができないのが不自然な気がしたのですが。
検証していただきありがとうございます。自分がヌケているせいではないと解りすっきりしました。
#1さんの方向でやってみます。

お礼日時:2005/02/06 00:03

出来得ればお力になれたらと存じますが、具体的にどんなソースを書いたらどのような結果になったかが知りたいです。


個人的にはそのような状況なら横着して素直に1シートずつ設定してしまいそうですが、自分自身の向学のためにも是非ともご一緒に考えさせてください。

この回答への補足

コードは会社のPCなので後日お見せできれば出します。恥ずかしながら私はマクロの記録を使って作ってちょこっと内容がわかるとこだけ修正する程度でして。
今回は
記録を開始する→シートを作業グループにくくる→
書式の変更をする
ですが、条件付き書式だけが先頭シートしか設定できないのです。

補足日時:2005/02/05 22:01
    • good
    • 0

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