
No.4ベストアンサー
- 回答日時:
結局説明がありませんが、選択範囲だけをヤリタイと言いたいのですか?
sub macro2()
dim h as range
set h = selection(selection.columns.count)
if selection.areas.count > 1 then exit sub
if selection.columns.count =1 then exit sub
with selection
with .resize(.rows.count, .columns.count - 1).formatconditions.add _
(type:=xlexpression, formula1:="=MOD(" & h.address(false,true) & ",2)=1")
.interior.patterncolorindex = xlautomatic
.interior.color = 65535
end with
end with
end sub
あなたが具体的にどういう具合にエクセルを操作した時にどうなって欲しいのか、目に見える説明が足りてないと言っています。
後出しの説明で実は実はとダラダラ引っ張られるのはやめてほしい、ということです。
未熟な質問に回答を有難うございました。反省しております。
どこでも条件つき書式が実行できてうれしいです。
ご指導を頂けて、感謝です。有難うございました。
No.3
- 回答日時:
>任意の選択したセルの
イミフメイなのでスルーします。
とりあえず1行目から何某か記入してあって、右端列に数字があることにします。
あなたが明示的に選択したセル範囲だけに作用させたいと言いたかったなら、適宜応用してください。
sub macro1()
dim h as range
set h = range("IV1").end(xltoleft)
if h.column = 1 then exit sub
with range(range("A1"), h.offset(0, -1)).entirecolumn.formatconditions.add _
(type:=xlexpression, formula1:="=MOD(" & h.address(false,true) & ",2)=1")
.interior.patterncolorindex = xlautomatic
.interior.color = 65535
end with
end sub
この回答への補足
回答を有難うございました。
シートを方眼用紙スタイルにしていますので、セレクトした範囲が変わります。
その場合はrange("A1")のところをどのようにすればよいでしょうか。
ご指導いただければ幸いです。
No.2
- 回答日時:
No.1です。
補足に
>選択した範囲の右端列の数値が変わった場合
とありますが、
あくまで範囲指定 → マクロ実行 という手順です。
「数値が変わる」というコトは一旦範囲指定を解いてしまう訳ですよね?
すなわちもう一度範囲指定した後にマクロを実行する必要があります。
数値が変わるたびに色変更したい場合は条件付き書式を設定しないと無理だと思います。
ご質問の大前提がSheetごとに範囲が違うというコトでしたので、前回のようなコードにしてみました。
それがダメなら根本的に考え直さないとダメだと思います。
この程度でごめんなさいね。m(_ _)m
No.1
- 回答日時:
こんばんは!
>任意の選択したセルの右端列に数字を入力しています
の部分は
>選択した範囲の右端列に数値が入っている
というコトにしての一例です。
標準モジュールに↓のコードをコピー&ペーストし、範囲指定したのちにマクロを実行してみてください。
Sub 色付け()
Dim i As Long, j As Long
ActiveSheet.Cells.Interior.ColorIndex = xlNone
j = Selection(Selection.Count).Column
If Selection(1).Column < j Then
For i = Selection(1).Row To Selection(Selection.Count).Row
If Cells(i, j) Mod 2 = 1 Then
Range(Cells(i, Selection(1).Column), Cells(i, j - 1)).Interior.ColorIndex = 36 '←薄い黄色にしています
End If
Next i
Else
MsgBox "複数列を範囲指定してください"
End If
End Sub
※ 条件付き書式が設定してあると色は変わりませんので、条件付き書式は設定しないでください。
こんな感じでよいのでしょうか?m(_ _)m
この回答への補足
回答を有難うございます。
色付けはうまくいきましたが、選択した範囲の右端列の数値が変わった場合、例えば、空白になった時、偶数になった時に行の色をつけないようにしたいのですが、その場合はどうすればよいでしょうか?
お手数ですが、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel ハイパーリンクのURLを別...
-
エクセル 数字をすべて○などの...
-
Excel2007 色のカウント (VBA)
-
Excelでセルをクリックす...
-
Excel内での検索結果をシート...
-
現在のセルの位置を返す関数は...
-
エクセル 行列を入れ替えてオ...
-
マクロを実行すると画像がズレ...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
セルの値が変ると自動でマクロ...
-
アポストロフィーの一括挿入 ...
-
エクセルのショートカット(Alt...
-
VBA 見つからなかった時の処理
-
セル背景や文字を点滅させる方法
-
[EXCEL] フォント変更が正常に...
-
エクセル シート保護された共...
-
セルの内容をテキストボックス...
-
開始行と最終行を指定して差し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
エクセルVBA
-
Excel:セルの値(文字列)を数...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
エクセルでPDFリンクを大量...
-
セルの内容をテキストボックス...
-
シート保護とグループ化機能を...
-
ページ内ハイパーリンクの表示...
-
セルがクリックされた回数をカ...
おすすめ情報