[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『土、日の場合その行を網掛けにしたいのです』(ありんこ)
[条件付書式]
たびたびすみません!!教えて下さい
郵便表があって日付、曜日が入っています。
まず、日付を入れたら隣のセルにそれに対応する曜日をいれさらに
その曜日が土、日の場合土日の行を網掛けにしたいのです。
日 曜日 合計 営業推進 パートナー 埼玉 8月1日 日 0 0 0 0 8月2日 月 #REF! #REF! #REF! #REF! 8月3日 火 0 8月4日 水 0
というようになっていて、日曜日の場合は合計から埼玉の行を
すべて網掛けしたいのです。
書式のコピー貼り付け等ではなく一括で出来る方法があったら教えて下さい
お願いします (ありんこ)
日にちがA列、合計列がC列、埼玉F列とした場合 C2〜F2を選択して−書式−条件付書式 条件1に数式が =WEEKDAY(A2,1)=7を入れ 条件2に数式が =WEEKDAY(A2,1)=1を入れてください。 以下、書式のコピーでいいはずです。 (川野鮎太郎)
こちらに統合しました。 (kazu)
日 曜日 合計 営業推進 パートナー 埼玉 8月1日 日 0 0 0 0 8月2日 月 #REF! #REF! #REF! #REF! 8月3日 火 0 8月4日 水 0
↑が入ると自動的に曜日が入る。
曜日が土日だとそのよう日の合計〜埼玉の欄が網掛けになる
以上です よろしくお願い致します
同じような内容は、前の質問に続けていただいたほうがよろしいかと。。。 日にちがA2(8/1)曜日がB2(日)だとして B2セルには=A2を入れて、書式−表示形式−ユーザー定義で、aaa にしてください。 条件付書式は、前の質問に回答しています。 (川野鮎太郎)
前の回答はお試しになりましたでしょうか。 8月1日の行の合計から埼玉のセルまでを条件付書式の設定をして残りのセルにコピーするだけですけど。 コピーがいやなのであれば、すべてのセルに条件付書式を一々設定しなければいけません・・・ (川野鮎太郎)
横から大変失礼致します。 既にデータ等が入力されている、ということでしょうか?
A2から 埼玉列の最終行の範囲を選択して 条件付書式→数式が、に =OR(WEEKDAY($A2)=1,WEEKDAY($A2)=7) として、書式を設定でも出来ますが。(コピーの手間は省けます) こういうことがご希望なのですか? あとは、VBAですね。 (jindon)
衝突しましたぁ、、 あまり川野鮎太郎さんの方法とかわりませんが、 Ait+F11でVBEを起動させて標準モジュールに貼り付け ツール→マクロで土日網掛けを実行 で、どうでしょう? でも、条件付き書式をコピーされた方が手軽の様な気がしますが、、 余計なお世話ならごめんなさいm(__)m (夏目雅子似) Sub 土日網掛け()
Dim C As Range
Dim MyDate As Date
Dim MyWeekday As Integer
With ActiveSheet
On Error Resume Next
For Each C In .Range("A2", .Range("A65536").End(xlUp))
MyDate = C.Value
MyWeekday = Weekday(MyDate)
Select Case MyWeekday
Case 1, 7
C.Offset(, 2).Resize(, 4).Interior.Pattern = xlGray16
Case Else
C.Offset(, 2).Resize(, 4).Interior.Pattern = xlNone
End Select
Next C
End With
End Sub
入力と同時なら、、 シートの見出しを右クリック→コードを表示させて そこに貼り付けます。 で、どうでしょう? (夏目雅子似) Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyDate As Date
Dim MyWeekday As Integer
If Target.Count > 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If IsDate(Target.Value) <> True Then MsgBox "日付ではありません", vbCritical Exit Sub End If
Application.EnableEvents = False
MyDate = Target.Value
MyWeekday = Weekday(MyDate)
Select Case MyWeekday
Case 1, 7
Target.Offset(, 2).Resize(, 4).Interior.Pattern = xlGray16
Case Else
Target.Offset(, 2).Resize(, 4).Interior.Pattern = xlNone
End Select
Application.EnableEvents = True
End Sub
jindonさんのおっしゃるように、頭に$を付けたら、範囲が大きくなっても一気に設定できたんですね(^_^A; 失礼しましたm(_ _)m (川野鮎太郎)
ということで、jindonさんの式をお借りして、 C2からF○まで、すべて選択して=OR(WEEKDAY($A2)=1,WEEKDAY($A2)=7)にしてください。 ~~~~ ~~~~列だけ$に修正しました。 (川野鮎太郎)
ぴんぽ〜〜ん(^^) (夏目雅子似)
行と列を固定してしまって(絶対参照) 大丈夫ですか? (jindon)
ぎゃああ、ごめんなさいm(_ _)m ×10回 jindonさんの式そのままで、お願いします。(^_^A; (川野鮎太郎)
皆様、沢山の回答をありがとうございました 夏目雅子似様、VBAを教えていただきましてありがとうございました ちょっと皆様のを参考にさせていただきたいとおもいます!! これでかなり業務が短縮できます!!!!(ありんこ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.