[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件書式で1行の書式を複数変更』(とよこ)
質問が重複しておりましたら申し訳ございません。
1か月分の作業日誌を日々入力しているのですが、
作業日誌の一覧表が罫線の書式変更だけですと、
日にちの変更がわかりにくいので交互に書式変更をしたいと思っています。
簡単な条件書式設定(フラグ1〜2)はできたのですが、
1行で複数の条件書式ができるかどうかご教示下さい。
A列のフラグによって、作業日誌の書式を変更しています。
フラグ「1」:B列〜P列に「塗りつぶし:なし、フォント:黒」の設定
フラグ「2」:B列〜P列に「塗りつぶし:白、背景1、黒+基本色5%、
フォント :黒」の設定
※こちらができるかどうかご教示下さい。
フラグ「3」:B列〜C列に 塗りつぶし:なし、フォント:白の設定
※変更理由は、同日が複数表示されていると
わかりにくいためです。
D列〜P列に 塗りつぶし:なし、フォント:黒の設定
フラグ「4」:B列〜C列に 塗りつぶし:背景1、黒+基本色5%の設定
※変更理由は、同日が複数表示されていると
わかりにくいためです。
フォント :背景1、黒+基本色5%の設定
D列〜P列に 塗りつぶし:背景1、黒+基本色5%の設定
フォント :黒の設定
レイアウト図
A B C D ・・ P
書式フラグ 日にち 曜日 ・ ・・ ・
1 1 木 ○○・・ ・ B列〜P列 塗りつぶし:なし、フォント:黒
3 1 木 ○○・・ ・ B列〜P列 塗りつぶし:なし
B列〜C列をフォントを白で隠し、
D列以降はフォントを黒で表示
3 1 木 ○○・・ ・ B列〜P列 塗りつぶし:なし
B列〜C列をフォントを白で隠し、
D列以降はフォントを黒で表示
2 2 金 ○○・・ ・ B列〜P列
塗りつぶし:白、背景1、黒+基本色5%、フォント:黒
4 2 金 ○○・・ ・ B列〜P列
塗りつぶし:白、背景1、黒+基本色5%
B列〜C列をフォントを
白、背景1、黒+基本色5%で隠し、
D列以降はフォントを黒で表示
4 2 金 ○○・・ ・ B列〜P列
塗りつぶし:白、背景1、黒+基本色5%
B列〜C列をフォントを
白、背景1、黒+基本色5%で隠し、
D列以降はフォントを黒で表示
※日にち(B列)は、WORKDAY関数で表示させています。
表の下で日にちごとにCOUNTIFS関数で件数を数えているため、
件数分の日にちが必要です。
なお、誰でも設定内容を変更できるよう指示されておりますので、
マクロを使用しての変更は難しいです。
拙い説明で大変申し訳ございませんがよろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows8 >
既存機能では設定できる書式って一つだけですし、マクロを使えないというなら無理では?
(通りすがり) 2018/02/20(火) 15:05
多分ね、1セルづつ設定するか、1グループづつ設定すればいいんじゃないかと。 範囲全体選択しての設定、コピーして広範囲に貼り付けはしない。 後、フィルコピーもしない。 (まあ普通は、楽しようとしてやるけど) 1セルづつのコピー貼り付けはいい見たいだった。
これやると、なんかしんないけど勝手にグループ管理みたいなことするんだよね。 この前、2007で初めて?条件付書式触ったらなんか2003の時と変わった印象が? 勘違いしてたらすみません。 (BJ) 2018/02/20(火) 16:17
条件 適用範囲 書式 フォント 塗りつぶし A1=1 B列〜P列 なし 黒 なし A1=2 B列〜P列 黒 背景1、黒+基本色5% A1=3 B列〜C列 白 なし A1=3 D列〜P列 なし 黒 なし A1=4 B列〜C列 白 背景1、黒+基本色5% A1=4 D列〜P列 黒 背景1、黒+基本色5%
設定は出来ますが、説明が難しいのでマクロを記載してみます。
マクロを実行すると上記の設定になると思います。
色が異なっている場合には、マクロを実行後に手で直してください。
(条件と適用範囲は正しく設定されていると思います)
マクロは当初に1回実行するだけですから、実行後には削除してください。
参考までに。
Option Explicit Sub Syosiki() ''条件付書式設定 Dim myRngBP As Range Dim myRngBC As Range Dim myRngDP As Range ''適用先定義 Set myRngBP = Range("B1:P20") Set myRngBC = Range("B1:C20") Set myRngDP = Range("D1:P20") '’ Application.ScreenUpdating = False ''条件付書式を一旦全てクリア Cells.FormatConditions.Delete ''条件(A1=2の場合) myRngBP.Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=2" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior ''背景1、黒+基本色5% .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.499984740745262 .PatternTintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False ''条件(A1=3の場合) myRngBC.Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=3" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font ''フォント白 .Strikethrough = False .Underline = xlUnderlineStyleNone .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .ThemeFont = xlThemeFontNone End With With Selection.FormatConditions(1).Interior ''塗りつぶしなし .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False ''条件(A1=4の場合) myRngBC.Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=4" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font ''フォント白 .Strikethrough = False .Underline = xlUnderlineStyleNone .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .ThemeFont = xlThemeFontNone End With With Selection.FormatConditions(1).Interior ''背景1、黒+基本色5% .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.499984740745262 .PatternTintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False '' 条件(A1=4の場合) myRngDP.Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=4" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior ''背景1、黒+基本色5% .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.499984740745262 .PatternTintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False '’ Range("B1").Select End Sub (NN) 2018/02/22(木) 00:57
マクロは、会社にある作業日誌に直接書き込む必要はありません。
新しいエクセルのブックを作成して、
その標準モジュールにマクロをコピーします。
作成したブックと既存の作業日誌を同時に開いて、
作業日誌の方からマクロを操作して条件付き書式を書き込みます。
作業日誌にはマクロも使用した形跡も残りませんし、
マクロは会社内にあなたの所有するブックに一つ存在するだけで、
管理も容易に行えます。
同じ様式であれば、作成済みの作業日誌が幾らあっても、
そのブックを開いてはマクロを実行するだけで、
同一の条件付き書式を設定したファイルに簡単に変換することができます。
今回のマクロは、ただ"書式の初期設定を補助"するもので、
マクロが無いと何も出来ないというものではなくて、
もちろん「マクロを使用して変更したか」は分かりませんし、
「誰でも設定内容を変更できるように」は別の問題になります。
※ 条件付き書式を設定する範囲が明らかでなかったので、
マクロ8〜10行目で適用先を定義しています。
列(同一条件の場合重複が無いように)や開始行の変更は自由です。
※ 理由は分かりませんが、
マクロの実行1回目では正しく処理できない場合がありました。
この場合、2回目の操作を実行してみてください。
※当方Excel2007です。あしからず。
(NN) 2018/02/22(木) 18:51
ご連絡が大変遅くなり申し訳ございません。
はい。ご指摘の通り分かっていたのですが、
質問してしまいました。
BJさん、
ご連絡が大変遅くなり申し訳ございません。
はい。ご教示頂いた内容で変更を考えたのですが、
思うように時間がとれず難しい状況ですので
断念いたしました。
せっかくご教示頂きましたのに大変申し訳ございません。
NNさん、
ご連絡が大変遅くなり申し訳ございません。
マクロのコードをご教示下さり有難うございます。
同人化を防ぎ、スピーディーに資料作成をと上から指示がきましたので、
そのためマクロ化を控えておりました。
(とよこ) 2018/02/23(金) 14:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.