Gizport
1 回答
0
Share (facebook)
55
view
全般

Excel: 4つ以上の条件付き書式 マクロを使って、F列とG列の値...

Excel: 4つ以上の条件付き書式 マクロを使って、F列とG列の値によって、B~E列の色を変えようとしています。
過去の質問[http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1318729928]を参考にして、見よう見まねで
下記の様に書いて見たのですがうまく動作しません(色が全く変わらない):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng1 As Range
Dim Rng2 As Range
Dim Rng3 As Range
Dim c As Range
Dim d As Range
Dim myColor As Long

Set Rng1 = Range("F7:F82")

Set Rng2 = Range("G7:G82")

Set Rng3 = Range("B7:E82")

For Each c In Intersect(Target, Rng1)
For Each d In Intersect(Target, Rng2)
With c And d
Select Case True
Case c = "" And d = ""
myColor = 0
Case c = "済" And d = "済"
myColor = 1
Case c = "済" And d = ""
myColor = 2
Case c = "済" And d = "未"
myColor = 3
Case c = "済" And d = "作業中1"
myColor = 4
Case c = "済" And d = "作業中2"
myColor = 5
Case c = "未" And d = "済"
myColor = 6
Case c = "未" And d = "未"
myColor = 7
Case c = "未" And d = ""
myColor = 8
Case c = "未" And d = "作業中1"
myColor = 9
Case c = "未" And d = "作業中2"
myColor = 10
Case c = "" And d = "済"
myColor = 11
Case c = "" And d = "未"
myColor = 12
Case c = "" And d = "作業中1"
myColor = 13
Case c = "" And d = "作業中2"
myColor = 14
Case c = "作業中1" And d = "済"
myColor = 15
Case c = "作業中1" And d = "未"
myColor = 16
Case c = "作業中1" And d = ""
myColor = 17
Case c = "作業中1" And d = "作業中1"
myColor = 18
Case c = "作業中1" And d = "作業中2"
myColor = 19
Case c = "作業中2" And d = "済"
myColor = 20
Case c = "作業中2" And d = "未"
myColor = 21
Case c = "作業中2" And d = ""
myColor = 22
Case c = "作業中2" And d = "作業中1"
myColor = 23
Case c = "作業中2" And d = "作業中2"
myColor = 24
Case Else
myColor = xlColorIndexNone
End Select
Intersect(c.EntireRow, Rng3).Interior.ColorIndex = myColor
End With
Next
End Sub

Excel側の設定が間違っているのか、上のマクロが間違っているのか分かりません。
上の内容で間違いがあるのかどうか、ご確認いただけないでしょうか。

よろしくお願いします。
Yahoo!知恵袋 4436日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
> 上のマクロが間違っているのか分かりません。
マクロは間違っています。「Excel側の設定」とは?
うぅ~ん・・・ 動かすまでには大変なコードです。
まず、For が 2つあるのに 対応するNextが1つよりありません。
> For Each c In Intersect(Target, Rng1)
ChangeイベントのTargetは セルの値を変更した範囲を返します。
このTargetとRng1の共有部分を1セルずつ変数dに取得するコードです。
これでは、A1に値を入れたりDELすると共有部分は無くエラーになります。Nothingにたいしてループ出来ません。
> For Each d In Intersect(Target, Rng2)
上と同じです。
> With c And d
これ↑意味不明です。コードの中で使っていないから無くても同じ。
With の使い方が違います。 VBAのヘルプでWith ステートメントを調べて使い方を理解しましょう。
ついでにIntersect メソッドも。
一応、ここまで部分を修正してみましょう
色を着ける条件がいまいち判りませんが・・・。
過去質問 リンクが切れています。
Yahoo!知恵袋 4435日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
67
Views
質問者が納得体験記見つけました。参考になるかと。 http://takechi-tateki.com/ガジェット/スマートフォン/sony-xperia-z-ultra-lte-c6833-をイーモバイルのgl07s-simで使う設定方法.html
3891日前view67
全般
34
Views
質問者が納得状況が良くわからないのですが >>設定にて項目の一番長い時間が30分 具体的に何の項目を30分にセットしているんでしょうか? その携帯には独自の節電機能でNXエコやアプリ電池診断と言うのが存在するようですが、それらの機能を有効にしていませんか?継続利用するつもりのアプリを勝手に停めるような携帯の節電機能は多いですよ。 また、使っているアプリの名称はなんですか?アプリの正確な名称を書いて下さい。
3580日前view34
全般
41
Views
質問者が納得Dドライブがないということは,リカバリエリアも消してしまっている可能性があります。 ディスクの管理で見るとよいでしょう。 リカバリエリアがなければ,消してしまっていると思います。 不思議なのはリカバリエリアもないのに,リカバリディスクを作成できたということ。 リカバリメディアはここから購入できます。 http://121ware.com/qasearch/1007/app/servlet/qadoc?QID=008030#a02 リカバリメディアがあるとします。 電源を入れてすぐディスクを入れるとのこ...
3611日前view41
全般
67
Views
質問者が納得結論から言えば使えます。 しかしマイクはちょっと チョイスミスですね。 それはただのカラオケマイクですから。 まぁ歌を録るわけじゃないし 大丈夫でしょうけど。 生放送機ならオススメは TASCAM US-322ですね。 主に歌い手や歌枠の生主向けですが 放送中にBGMを流せるのは勿論 声にエフェクトをかけれます。 あと、このインターフェースには コンデンサマイク用の ファンタム電源がついてます。 プロ音響規格のダイナミックマイクなら 誤ってファンタム電源を かけてしまっても安全な回路が 施されていますが、...
3677日前view67
全般
76
Views
質問者が納得ニコンのコマンダーですとSU-800ですね。 元々マクロツインライト用のコマンダーなので、赤外通信の飛びは非常に良くないです。 YONGNUOのTTLラジオスレーブは最近ニコン用が出てきましたが、機種によってはかなり動作が怪しいようですのであまりお勧めできません。 そもそも、この手の海外製品は大半が日本国内の電波法に準拠していない(技適マークを取得していない)ので、厳密に言えば使用が違法な製品です。 販売すること自体は違法でないことと価格が極端に安いことで、近年は多く出回っていますが…。 合法的に最も確実...
3699日前view76

取扱説明書・マニュアル

661view
http://www.nttdocomo.co.jp/.../F-11D_J_01.pdf
68 ページ3.50 MB
もっと見る

関連製品のQ&A