A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
No.2・3です。
>・シート名が日本語表記の場合、表記は変わるのでしょうか。
今回に関してはシート名は全く関係ありません。
シート見出しの一番左から右へ向かってすべてのシートを対象にしているので・・・
ちなみに
Worksheets(1) でシート見出しの一番左側
Worksheets(2) で2番目・・・
となります。
※ 一つ気になったのですが、
条件付き書式であれば一度設定するだけでデータ変更にも対応できますが、
当方が回答した方法だとデータ変更があるたびにマクロを実行する必要があります。
そうなると一旦B列の色を消去した方が良いと思いますので、前回のコードの
>Set myArea = Worksheets(k).Range("C5:C90")
の行の次に
>myArea.Offset(, -1).Interior.ColorIndex = xlNone
の1行を追加しておいてください。
これで一旦B5~B90セルの色が消えます。m(_ _)m
No.4
- 回答日時:
No1です
>質問の仕方が良くなかったようで
というよりも、全然違う内容なのでは??
とは言え、セル範囲や位置関係が違うだけなので、条件付き書式の対象範囲をB5〜B90に、判断の対象セルをC5に変えれば良いだけだと思います。
それ以前に、「条件付き書式」という方法で良いのなら、VBAにするまでもない気がしますが…
普通にセル値をチェックして色付けする方法は、他の方が回答してくださっているので、そちらにお任せします。
(完全一致で見ているみたいですが、質問文がやや曖昧なのでどっちなのかなぁ…)
No.3
- 回答日時:
No.2です。
投稿後、No.1さんへの補足を拝見しました。
結局C5~C90セルが対象で「C」のセルの左隣り(B列)セルの色付けをしたい!というコトですね。
前回のコードに少しだけ手を加えました。
Sub Sample2()
Dim k As Long
Dim c As Range
Dim myRng As Range, myArea As Range
For k = 1 To Worksheets.Count '//←シート見出しの一番左から最後のシートまで//
Set myArea = Worksheets(k).Range("C5:C90") '//★//
For Each c In myArea
If c = "C" Then
If myRng Is Nothing Then
Set myRng = c.Offset(,-1) '//★//
Else
Set myRng = Union(myRng, c.Offset(,-1)) '//★//
End If
End If
Next c
If Not myRng Is Nothing Then
myRng.Interior.ColorIndex = 6 '//←黄色//
End If
Set myRng = Nothing
Next k
End Sub
※ 「★」の行だけに少し手を加えています。m(_ _)m
No.2
- 回答日時:
こんにちは!
すべてのSheetを対象にしています。
標準モジュールにしてください。
Sub Sample1()
Dim k As Long
Dim c As Range
Dim myRng As Range, myArea As Range
For k = 1 To Worksheets.Count '//←シート見出しの一番左から最後のシートまで//
Set myArea = Worksheets(k).Range("C5:R90")
For Each c In myArea
If c = "C" Then
If myRng Is Nothing Then
Set myRng = c.Offset(-1)
Else
Set myRng = Union(myRng, c.Offset(-1))
End If
End If
Next c
If Not myRng Is Nothing Then
myRng.Interior.ColorIndex = 6 '//←黄色//
End If
Set myRng = Nothing
Next k
End Sub
※ 条件付き書式が設定してあると、そちらが優先され何も変化しませんので
条件付き書式はクリアしてマクロを実行してみてください。m(_ _)m
No.1
- 回答日時:
こんにちは
条件付き書式でもよければ・・・
Sub Sample()
With Range("C5:R90")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=FIND(""C"",C6)"
.FormatConditions(1).Interior.COLOR = 65535 '黄色
End With
End Sub
上記はActiveSheetに対して実行されます。
>5シートあり~~
シートがどこにあるのか不明なので、1シート分だけのサンプルです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Excel(エクセル) Excelシートのある番地の文字が一致したすべての行を別シートに転記する方法 11 2022/10/25 08:43
- Visual Basic(VBA) エクセルVBAについて質問です。 セルA1に"あ" セルB3に"い" セルC5に"う" と入力されて 2 2023/06/10 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
VBAの天才来てください
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
エクセルのマクロでアクティブ...
-
VBA 存在しないシートを選...
-
同じ作業を複数のシートに実行...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
【VBA】シート名に特定文字が入...
-
【VBA】色のついたシート名を取得
-
ExcelVBA:複数の特定のグラフ...
-
ExcelVBA シート名を複数セルか...
-
XL:BeforeDoubleClickが動かない
-
VBAを用いて繰り返し自動的...
-
excelのマクロで該当処理できな...
-
VBA ユーザーフォーム上のチェ...
-
Excel マクロについての相談
-
特定の文字を含むシートだけマ...
-
エクセル・マクロ シートの非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報
fujillinさん、早速のご回答ありがとうございます。
思う様にいかず…質問の仕方が良くなかったようで。
sheet(1)〜sheet(5)あり、それぞれのシートのC5〜C90の中にCの文字を含む場合、B5〜B90のセルに色をつけます。sheet(1)C5にCがあればsheet(1)B5セル塗り潰し、sheet(2)C6にCがあればsheet(2)B6セル塗り潰しといった感じです。
説明が至らず申し訳ありませんでした。
よろしくお願いします。
tomoさん、ご回答ありがとうございます。
一つ教えてください
・シート名が日本語表記の場合、表記は変わるのでしょうか。
よろしくお願いします。