[[20200513140035]] 『セル範囲の数式の色を変えるマクロ』(まめしば) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セル範囲の数式の色を変えるマクロ』(まめしば)

【実行したいこと】
セル範囲C84:C314とL84:L314に、数式が入ったセルがあり、
そのセルだけ青色に文字色を変えたいです。
下記の式にどう加えればよいでしょうか。
SpcialCells(xlCellTypeFormulas)を使うと思うのですが、
上手くできません。
よろしくお願いいたします。

【現在の式】
Sub blue()
Dim rng As Range
Set rng = Range("C84:C314,L84:L314")
rng.Font.ColorIndex = 5
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>SpcialCells(xlCellTypeFormulas)を使うと思うのですが、
そこまでたどり着いたなら、まずは【手作業で】
 (1)C84:C314とL84:L314のうち、数式が入っているセルを選択
 (2)選択されているセルの文字色を蒼に変更する

とやってみてください。
つぎに、うまくいくようであれば、同じ作業を【マクロの記録】をつかってコード化してみてください、

そのうえで、マクロの記録で得られたコードをたたき台にして作っていくほうが、わかりやすいと思います。

(もこな2 ) 2020/05/13(水) 15:24


 >セル範囲C84:C314とL84:L314に、数式が入ったセルがあり、 
 >そのセルだけ青色に文字色を変えたいです。

 マクロより条件付き書式では

 =ISFORMULA(C84)
(盆欷) 2020/05/13(水) 15:29

もこな2さん 記録を取って、下記で出来ました。
Sub blue()
Dim rng As Range
Set rng = Range("C84:C314,L84:L314")
rng.SpecialCells(xlCellTypeFormulas).Font.ColorIndex = 5
End Sub
最初無駄にif等使用していたので上手く出来なかったのですが、シンプルで良かったのですね。
コメントありがとうございました。

盆欷さん 確かに条件付き書式案件なのですが、
マクロでどう組むか知りたかったので質問しました。
(まめしば) 2020/05/13(水) 16:07

下記で出来ました。

 Sub blue() 
  Dim rng As Range 
  Set rng = Range("C84:C314,L84:L314") 
  rng.SpecialCells(xlCellTypeFormulas).Font.ColorIndex = 5 ※
 End Sub 

※『該当するセルが見つかりません』のエラーメッセージ出ませんでしたか。

修正しました。内容を確認してみてください。

 Sub blu()
  Dim rng As Range
  Set rng = Range("C84:C314,L84:L314")
  Set rng = Cells.SpecialCells(xlCellTypeFormulas) 
  rng.Font.ColorIndex = 5
 End Sub
(閲覧者) 2020/05/13(水) 16:43

  >Set rng = Cells.SpecialCells(xlCellTypeFormulas) 
  >rng.Font.ColorIndex = 5

  シート全体から検索?

(傍観者) 2020/05/13(水) 17:03


すみません。
(閲覧者) 2020/05/13(水) 16:43
はスルーして下さい。
コピペしてそのまま実行したものですから。

傍観者さん
ご指摘の通りです。セル範囲指定なので Cells は不要でした。

(閲覧者) 2020/05/13(水) 20:32


>下記で出来ました。
本人が理解できており、かつ満足しているならそれでOKだとおもいますが、少しだけ手を入れとしたら。
    Sub blue_改()
        Dim rng As Range

        '▼該当セルがなかった時に実行時エラーが発生するのを防止する
        On Error Resume Next
        Set rng = Range("C84:C314,L84:L314").SpecialCells(xlCellTypeFormulas)
        On Error GoTo 0

        'ColorIndexの5番が青とは限らないので、その対策
        If Not rng Is Nothing Then rng.Font.Color = vbBlue
    End Sub

(もこな2 ) 2020/05/13(水) 20:58


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.