advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 406 for kazu 条件付書式 (0.004 sec.)
kazu (7740), 条件付書式 (2650)
[[20141021095243]]
#score: 6689
@digest: f84e9f7edc741a06273a987fc7b973e2
@id: 66419
@mdate: 2014-10-22T03:04:06Z
@size: 8211
@type: text/plain
#keywords: okada (26533), 色残 (23246), スco (12563), code (11422), プ見 (10407), formatconditions (5866), xlcolorindexnone (4567), interior (4255), 色塗 (3996), 一気 (3762), 稲葉 (3538), colorindex (3501), target (2764), (ok (2186), 2014 (1767), が理 (1484), 見ま (1183), 理解 (1164), (稲 (1142), ヘル (1098), offset (1094), 葉) (1093), ルプ (1070), ナス (997), 火) (995), イナ (965), delete (960), イベ (927), resize (862), 気に (827), 理由 (814), マイ (789)
『入力があれば色塗り』(okada)
VBAは余り詳しくないので教えて頂きたいのですが N列に入力があったら色塗り Deleteしたら色消しをしたいのですが 以下は参考です。ボタンクリックなら可能です 色塗り利範囲はA〜O列です。 よろしくお願いします。 Dim rng As Range Dim n As Long If Not TypeOf Selection Is Range Then Exit Sub Set rng = Intersect(Selection.EntireRow, Range("A:O")) With rng.Interior If IsNull(.ColorIndex) Or rng.Interior.ColorIndex = xlColorIndexNone Then .ColorIndex = 6 '.Color = vbGreen Else .ColorIndex = xlColorIndexNone End If End With < 使用 Excel:Excel2013、使用 OS:Windows7 > ---- 条件付き書式ではだめですか? http://www.excel.studio-kazu.jp/lib/e2qw/e2qw.html (稲葉) 2014/10/21(火) 10:04 ---- 稲葉さん ありがとうございます。 リンク先見ましたができればVBAで実行したいのですが よろしくお願いします。 (okada) 2014/10/21(火) 11:11 ---- 良ければマクロである必要がある理由も聞かせてもらいたいけど・・・ どちらか使いやすい方選んでください。 後者はシートモジュールに記述してください。 後者は複数行・列を変更した場合に対応しておりません。 個別実行 Sub 色つけ() Dim N列, r As Range, n N列 = Filter([TRANSPOSE(IF(N1:N100<>"",ROW(N1:N100),CHAR(2)))], Chr(2), False) If UBound(N列) = -1 Then Exit Sub Set r = Cells(N列(0), "A").Resize(, [CODE("O")-CODE("A")+1]) For n = 1 To UBound(N列) Set r = Union(r, Cells(N列(n), "A").Resize(, [CODE("O")-CODE("A")+1])) Next n Range("A1:O100").Interior.ColorIndex = xlNone r.Interior.ColorIndex = 6 End Sub イベントタイプ Private Sub Worksheet_Change(ByVal Target As Range) If Left(Target.Address, 3) <> "$N$" Then Exit Sub If Target.CountLarge > 1 Then Exit Sub With Target.Offset(, [CODE("A")-CODE("N")]).Resize(, [CODE("O")-CODE("A")+1]).Interior If Target.Value <> "" Then .ColorIndex = 6 Else .ColorIndex = xlNone End If End With End Sub (稲葉) 2014/10/21(火) 11:37 ---- 食わず嫌い? Sub Sample() With Range("A:O") .Cells(1, 1).Activate .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="=$N1<>""""" .FormatConditions(.FormatConditions.Count).SetFirstPriority .FormatConditions(1).Interior.ColorIndex = 6 .FormatConditions(1).StopIfTrue = True End With End Sub (Mook) 2014/10/21(火) 11:55 ---- 稲葉さん ありがとうございます。 イベントがいいですね(^_^;) ひとつ聞きたいことがあるのですが [CODE("A")-CODE("N")] ↑の書き方ですが、初めて見ます 通常Rangeで指定すると思うのですが・・・ 意味おしえていただけないでしょうか Rangeでは指定できるのでしょうか? よろしくお願いします。 Mookさん ありがとうございます。 できればWorksheet_Changeでやりたかったので 参考にさせていただき今後利用させてください。 (okada) 2014/10/21(火) 12:44 ---- OffsetとRisizeの引数に、計算式で数値を当てはめているだけです。 []は計算式です。 Target _ .Offset(, [CODE("A")-CODE("N")]) _ .Resize(, [CODE("O")-CODE("A")+1]) 単純に-13とか、15でもよかったんですが マジックナンバー減らそうかなと思いました・・・ 何となくA列引くN列って後で見た人が分かってもらえたらなーと考えていましたが、 逆に混乱のもと? []はEvaluateメソッドの省略形です。 詳細はヘルプを参照してください。 CODEはワークシートの関数です。 それより片手落ちですがいいんですか? 一気に値を消したときとか対応していませんよ? (稲葉) 2014/10/21(火) 13:12 ---- 稲葉さん ありがとうございます。 >それより片手落ちですがいいんですか? >一気に値を消したときとか対応していませんよ? この意味がよく解りませんが、いくつかのセルを一気に Deleteしてみたのですが何も問題ないようですが どういうことでしょうか? また ヘルプ見ましたが理解できるまでいきませんでした。 列指定ですがColumnとかで指定する方法は出来ないのでしょうか? やはりOffsetで指定するのが普通でしょうか? 何度も申し訳ありませんが よろしくお願いします。 (okada) 2014/10/21(火) 17:51 ---- >いくつかのセルを一気にDeleteしてみたのですが何も問題ないようです 問題ないならいいですけど、たとえばN列に値が入っていて、一気に消すと色残りますよね? >ヘルプ見ましたが理解できるまでいきませんでした。 何がわからないの? >列指定ですがColumnとかで指定する方法は出来ないのでしょうか? 行単位に色つけたいのに、Column使って何がしたいのですか? Offsetの必要はありませんが、 Range("A" & Target.Row & ":" & "O" & Target.Row) と書くのとどっちが見やすいかは人それぞれだと思います。 やっぱり条件付き書式をお勧めします。 (稲葉) 2014/10/21(火) 22:09 ---- >Range("A" & Target.Row & ":" & "O" & Target.Row) こちらの方があとあと修正しやすいのでは無いかと思うのですが 以下のどこに記入すればいいのでしょうかWith Target.Offset・・の部分に 書き込んで見たのですがエラーが出てしまいました。 Private Sub Worksheet_Change(ByVal Target As Range) If Left(Target.Address, 3) <> "$N$" Then Exit Sub If Target.CountLarge > 1 Then Exit Sub With Target.Offset(, [CODE("A")-CODE("N")]).Resize(, [CODE("O")-CODE("A")+1]).Interior If Target.Value <> "" Then .ColorIndex = 6 Else .ColorIndex = xlNone End If End With End Sub (okada) 2014/10/22(水) 01:15 ---- どのように入れたのか、どのようなエラーになったのか教えてください。 それから二回目のレスの問と、前回の二つの問に答えていただけていないのですが? >良ければマクロである必要がある理由も聞かせてもらいたいけど・・・ >>いくつかのセルを一気にDeleteしてみたのですが何も問題ないようです >問題ないならいいですけど、たとえばN列に値が入っていて、一気に消すと色残りますよね? >>ヘルプ見ましたが理解できるまでいきませんでした。 >何がわからないの? (稲葉) 2014/10/22(水) 06:53 ---- 稲葉さん ありがとうございます。何度もすみません >どのように入れたのか、どのようなエラーになったのか教えてください。 >以下のどこに記入すればいいのでしょうかWith Target.Offset・・の部分に >書き込んで見たのですがエラーが出てしまいました。★から右に書いてみました。? With Target.★Offset(, [CODE("A")-CODE("N")]).Resize(, [CODE("O")-CODE("A")+1]).Interior >良ければマクロである必要がある理由も聞かせてもらいたいけど・・・ 特に考えたわけでは無いですが主観的にMacroを希望しました 別Bookで条件付書式も利用したいと思います。 >たとえばN列に値が入っていて、一気に消すと色残りますよね? こちらはOKです。 例えば[CODE("A")-CODE("N")]が なぜCODE("A")マイナスCODE("N")なのかが理解できなかっのです。 こんな状態ですがよろしくお願いします。 (okada) 2014/10/22(水) 09:45 ---- >。★から右に書いてみました。? まず変数の型からご理解ください。 TargetはWorksheet_Changeイベントの引数で、Range型です。 Range.Rangeというプロパティ乃至メソッドは存在しません。 前々のレスで >通常Rangeで指定すると思うのですが・・・ と有りましたので、Range.Interiorが分かっていらしたのかと思っていました。 本題ですが、TragetからはRowプロパティで取得した値を使用していますので >With Target.Offset(, [CODE("A")-CODE("N")]).Resize(, [CODE("O")-CODE("A")+1]).Interior これを With Range("A" & Target.Row & ":" & "O" & Target.Row).Interior としてください。 >特に考えたわけでは無いですが主観的にMacroを希望しました 色を付けたセルをカウントしたい等でしたら、マクロを希望されるのも分かりますが、 今回の例でマクロを使う必要性を感じません。 一番オーソドックスな条件付き書式を使う形ですので、是非今回から活用してみてください。 >なぜCODE("A")マイナスCODE("N")なのかが理解できなかっのです。 ワークシートに=CODE("A")と=CODE("N")を別々のセルに入力してみてください。 そうすれば何となくやりたいことが理解しやすくなると思います。 (稲葉) 2014/10/22(水) 09:58 ---- 稲葉さん 昨日から長々とありがとうございました。 > >なぜCODE("A")マイナスCODE("N")なのかが理解できなかっのです。 > ワークシートに=CODE("A")と=CODE("N")を別々のセルに入力してみてください。 > そうすれば何となくやりたいことが理解しやすくなると思います。 文字列の先頭文字を表す数値コードを返します。なぜ"A"が65なのか これから調べて見ます。 今後共よろしくお願いします。 感謝 (okada) 2014/10/22(水) 12:04 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201410/20141021095243.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97065 documents and 608342 words.

訪問者:カウンタValid HTML 4.01 Transitional