Excel VBA質問箱 IV

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

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


784 / 13645 ツリー ←次へ | 前へ→

【78319】条件付き書式 適用先 GG 16/7/12(火) 12:48 質問[未読]
【78320】Re:条件付き書式 適用先 マナ 16/7/12(火) 20:28 発言[未読]
【78321】Re:条件付き書式 適用先 亀マスター 16/7/13(水) 0:37 発言[未読]
【78322】Re:条件付き書式 適用先 β 16/7/13(水) 6:49 発言[未読]
【78323】Re:条件付き書式 適用先 GG 16/7/13(水) 16:08 発言[未読]
【78324】Re:条件付き書式 適用先 β 16/7/13(水) 16:30 発言[未読]

【78319】条件付き書式 適用先
質問  GG  - 16/7/12(火) 12:48 -

引用なし
パスワード
   初めまして

Excel2013
Windows7


条件付き書式 適用先を
VBAで訂正したいのですが
わからず
記録してみましたが
記録にとれませんでした

何か方法、教えて頂きたいのです
よろしくお願いいたします

【78320】Re:条件付き書式 適用先
発言  マナ  - 16/7/12(火) 20:28 -

引用なし
パスワード
   ▼GG さん:
使ったことありませんが、
ModifyAppliesToRange
で何とかなりませんか?

ht tp://excel-ubara.com/excelvba1/EXCELVBA391.html

【78321】Re:条件付き書式 適用先
発言  亀マスター  - 16/7/13(水) 0:37 -

引用なし
パスワード
   Excel2013ならマクロ記録で拾えると思うのですがね。

ちなみに、手元のExcel2010でマクロ記録したら次のようなコードになりました。

  Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
    Formula1:="=100"
  Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
  With Selection.FormatConditions(1).Font
    .Color = -16383844
    .TintAndShade = 0
  End With
  With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 13551615
    .TintAndShade = 0
  End With
  Selection.FormatConditions(1).StopIfTrue = False

【78322】Re:条件付き書式 適用先
発言  β  - 16/7/13(水) 6:49 -

引用なし
パスワード
   ▼GG さん:

失礼します。

亀マスターさんの指摘の通り、マクロ記録すればコード生成されると思いますが?
記録時、マクロの保存先(I) は 「作業中のブック」になっていましたか?

それはさておき、亀マスターさんがアップされたコードは、新規条件設定ではないでしょうか?
すでに設定済みの条件があって、その領域を選択して、適用領域を変更すると
最初に、既存の条件の削除が生成されると思います。

いずれにしても、あらためて、同じ条件で(適用領域だけを変えて)設定するコードになりますね。

マナさんレスのように ModifyAppliesToRange が生成されるとスマートなんですけどね。

【78323】Re:条件付き書式 適用先
発言  GG  - 16/7/13(水) 16:08 -

引用なし
パスワード
   ▼β さん:
ありがとうございます


一から設定し直すしかないんですかね

行追加や
データの削除などしている間に

条件付き書式の設定が多い中
条件付き書式が適用先がバラバラですごいことになっているんで
適用先を修正する物を作りたかったんですが

【78324】Re:条件付き書式 適用先
発言  β  - 16/7/13(水) 16:30 -

引用なし
パスワード
   ▼GG さん:

>一から設定し直すしかないんですかね


いえいえ。
マクロ記録すると、そういったコードが生成されてしまうということです。
マナさんレスの通りModifyAppliesToRangeを使えばよろしいかと。

たとえば A1 に設定されている条件付書式の適用領域を A1:A100 に変更するなら

Range("A1").FormatConditions(1).ModifyAppliesToRange Range("A1:A100")

と1行でOKだと思います。

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