エクセルのシートで
sheet1のA1に○と入っていたら
sheet2のA1をグレーに塗りつぶすようにするマクロのコードがあればおしえていただきたいです。
また、sheet1のA1に○がある時はsheet2のA1がグレー。sheet1のB1に○がある時はsheet3のA1がグレーに…といったようにsheet1を基準として同じようなことをsheet3や4にも行いたいのです。
本当はルールの設定でも出来ると思うのですが、シート数が多いのと、ルール設定をするとエクセル全体が重くなる気がするのであまり使いたくないのです。
よろしくお願いします。
No.3
- 回答日時:
こういうことでしょうか。
If Sheets("Sheet1").Range("A1").Text = "○" Then
With Sheets("Sheet2").Range("A1").Interior
.ThemeColor = 1
.TintAndShade = -0.1
End With
End If
Excel2010だけど
No.2ベストアンサー
- 回答日時:
最も「初歩的」な書き方をするならば
TESTという名前のマクロ(※プロシージャ)を作成するとして
Sub TEST()
If ThisWorkbook.Sheets("Sheet1").Range("A1").Value = "○" Then
ThisWorkbook.Sheets("Sheet2").Range("A1").Interior.ColorIndex = 15
End If
End Sub
と書いて、TESTを実行すれば、お望みの結果になります
それ以降は、シート名の書き換えで対応できるでしょう。
ここではインデント(行頭の字下げ)をスペース(空白記号)で
書いてますが、実際の場合は、タブ(TABキー)で
字下げするのが良いです。
おそらく(違っているかもですが)
つまづいておられる点は、「灰色に塗る」という時に
Range("A1").Interior.Color = vbRed みたいなやり方を
しようとしたら、vbGrayは無かったので灰色どうしよう???
となったのでは?
色指定については
https://www.sejuku.net/blog/32288
のWEBサイトを参考にしてみて下さい
灰色っぽい色としては
Range("A1").Interior.ColorIndex = 15
または
Range("A1").Interior.Color = RGB(192,192,192)
Range("A1").Interior.ColorIndex = 16
または
Range("A1").Interior.Color = RGB(128,128,128)
あたりが妥当な候補かと思いますが
RGB()関数を使った書き方ならば、三つの値を同じ値にした
RGB(0,0,0) から RGB(255,255,255)までのものを選んで使えば
真っ白~真っ黒までの間の任意の濃度(256通り)のグレーを
表現できます。
※RGBに慣れれれば、どんな色もお好みで思うがままなので楽しいです
本当を言うと
上記の「初歩的」な書き方は、とても長ったらしいので
With ~ End With
という構文でまとめて書くか
「オブジェクト変数」という変数を複数個用意して
ThisWorkbook.Sheets("Sheet1").Range("A1") や
ThisWorkbook.Sheets("Sheet2").Range("A1") を
そこへ代入してしまえば
かなりスッキリして読みやすいマクロにはなるのですが
「オブジェクト変数」代入の際には
Setを付け忘れるとエラーになるだとか色々あるので
文面からお察しするに、これらを使うのは、難易度が1~2段階UP
してしまうかも…なので
それは次の機会にするのが良いかもしれませんですね
では!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- その他(Microsoft Office) オフィス365のエクセル 3 2023/06/29 13:10
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- スーパー・コンビニ 「コンビニで エクセルをプリントアウト」することができますか? 8 2022/06/16 15:54
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
尿検査の前日は自慰控えたほう...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
EXCELで条件付き書式で空白セル...
-
腕を見たら黄色くなってる部分...
-
EXCELで式からグラフを描くには?
-
変な話しになります。尿検査で...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
-
Excelで""で囲む方法
-
ある範囲のセルから任意の値を...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
エクセルでエラーが出て困って...
-
納豆食べた後の尿の納豆臭は何故?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報