人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下の仕様を満たすEXXLEのマクロを教えて頂けないでしょうか。

「あるO列のセルに「あ」と入力されており、かつ同じ行のR列が空白だったとき、同じ行のA?D列を黄色く塗りつぶしたい」

そして、R列に文字が入力されたら、塗り潰したA?D列を元に戻したい」

マクロについてほとんど素人ですので、コードにコメントがあると有難いです。

●質問者: omoro
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:?D ほと コメント コード セル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●60ポイント ベストアンサー

こんな感じのことでしょうか。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim intColor As Integer
 Dim celcolor As Integer

'// O列・R列がなければ終了
 If Intersect(Target, Range("O:O,R:R")) Is Nothing Then Exit Sub
 
 Dim r As Range
 Application.EnableEvents = False

'// 一度に複数行の変更に対応(コピー&貼付け等)
 For Each r In Intersect(Target, Range("O:O,R:R"))

'// 変更した行のO列が"あ"なら
 If Cells(r.Row, "O") = "あ" Then
  '// R列が""なら黄色
 If Cells(r.Row, "R") = "" Then
 Cells(r.Row, "A").Resize(1, 4).Interior.ColorIndex = 6
  '// R列がからでなければ白
 Else
 Cells(r.Row, "A").Resize(1, 4).Interior.ColorIndex = 0
 End If
 End If
 Next
 Application.EnableEvents = True
End Sub

多少の変更はコメントに手対応しますので、

コメントを有効にお願いします。

◎質問者からの返答

回答ありがとうございます!!

素晴らしいです、まさにこの動作です。

僕もちゃちゃっとマクロが組めるようになりたいものです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ