- ベストアンサー
excel日付データのセルに色つけ:マクロ
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
文章を見る限りではマクロが分かってる人には見えないですが・・・。 さっぱり分からない人の聞き方ですよね。 下記は一例ですが。 Sub test() Dim i As Long For i = 2 To Range("H65536").End(xlUp).Row If VarType(Cells(i, 8).Value) = 7 Then Select Case Weekday(Cells(i, 8), 2) Case 5 Cells(i, 8).Interior.ColorIndex = 34 Case 6 Cells(i, 8).Interior.ColorIndex = 36 Case 7 Cells(i, 8).Interior.ColorIndex = 40 End Select End If Next i End Sub
その他の回答 (5)
- merlionXX
- ベストアンサー率48% (1930/4007)
もういっぱい回答がでているようですが・・・。 これでも出来ますね。 Sub test01() Dim c As Integer Range("H2").Select Do Until IsEmpty(ActiveCell) w = Weekday(ActiveCell) Select Case w Case 6: c = 34 Case 7: c = 36 Case 1: c = 40 Case Else: c = 0 End Select ActiveCell.Interior.ColorIndex = c ActiveCell.Offset(1, 0).Select Loop End Sub
お礼
皆さんありがとうございました。
- mshr1962
- ベストアンサー率39% (7418/18948)
3通りでいいなら条件付書式のほうがいいでしょうね。 H2から条件をつける範囲を選択して「書式」「条件付書式」で 「数式が」「=AND(ISNUMBER($H2),WEEKDAY($H2)=6)」で書式設定を押し、パターンを薄い水色 「追加」を押して 「数式が」「=AND(ISNUMBER($H2),WEEKDAY($H2)=7)」で書式設定を押し、パターンを薄い黄色 「追加」を押して 「数式が」「=AND(ISNUMBER($H2),WEEKDAY($H2)=1)」で書式設定を押し、パターンを薄い橙色 で設定できます。
- GreatDragon
- ベストアンサー率46% (186/402)
マクロと言うことなのでアバウトですが作ってみました。 Public Sub MyDateColor1() Dim MyUpdateRange As Range Dim MyWorkRange As Range Set MyUpdateRange = Range(Range("H2"), Range("H1").End(xlDown)) For Each MyWorkRange In MyUpdateRange If IsDate(MyWorkRange.Value) Then If Weekday(MyWorkRange.Value) = vbSunday Then MyWorkRange.Interior.ColorIndex = 40 ElseIf Weekday(MyWorkRange.Value) = vbFriday Then MyWorkRange.Interior.ColorIndex = 34 ElseIf Weekday(MyWorkRange.Value) = vbSaturday Then MyWorkRange.Interior.ColorIndex = 36 End If End If Next Set MyWorkRange = Nothing Set MyUpdateRange = Nothing End Sub ※他の方の仰るとおり「条件付書式」でも良いような気がしますが・・・
お礼
皆さんありがとうございました。
- hana-hana3
- ベストアンサー率31% (4940/15541)
VBAで実現する必要性が無いのなら、条件付き書式の方が便利かと思います。
お礼
早速の回答ありがとうございます。 条件付き書式の方のやり方は理解しています。
補足
他人から与えられたファイルに対してそのようにしたいのでマクロをランさせた方が簡単かと思いました。なおファイルは毎月数件もらいます。
どこまで出来ているのでしょうか?それを掲示して下さい。
お礼
皆さんありがとうございました。
補足
CHOOSE(WEEKDAY(H2,1))とか考えている段階です。
関連するQ&A
- 【Excelマクロ】基準日より前の日付のセルを色付
基準日が入力されているセル(D2)があります。 回収期限(D列)がその基準日を含む前の日付のデータ(A:D)に黄色で色付けするマクロをご教示ください。 条件付き書式はあえて対象外のデータを色塗りしたくない場合に、わざわざ条件付き書式を消すのが面倒なのでやめました。
- ベストアンサー
- Excel(エクセル)
- Excel2003でセルの色で並び替え
Excel2007ではセルの色で並び替えが出来るようになったようですが、2003では出来ないでしょうか?データを区別するのに、セルに色付け(一色)してたのですが、色付けしたものと処理してないもの、あるいは処理日付の新しいもの等で並び替えは出来ないでしょうか? 宜しくご教示下さい。
- ベストアンサー
- オフィス系ソフト
- エクセル 横カレンダー セルの色付けについて
一ヶ月間分のカレンダーで日付をタテに組んだ時、条件付書式で日曜祭日のセルの色を行単位で色づけ出来るのですが、日付をヨコに組んだ時は、セルの色を列単位で設定するにはどうすれば良いのでしょうか。 会社のカレンダーが従来よりヨコ組みなので出来れば現状のまま、セルの色付けをしたいのですが…。どなたか教えてください、宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- [EXCELマクロ] シートタブに自動で色をつけるには?
シートが、1日~31日まであり、シート内は31枚とも全て同じで、 例えば、セルA1 に、日付(平成19年7月18日と表示)があったとき、 その日付を参照して、土曜日なら青色、日曜日なら赤色、というふうに 自動で31枚全てのタブの色を変更してくれるようにしたいのですが、 可能でしょうか? また可能であれば、どのようにマクロを組めばいいでしょうか? Excel2003を使用しています。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセル 関数によるセルの色付け
お世話になります。エクセルでセルにIF関数が入ってるセルを作り、色付けしたいです。 別のセルに「起算日(基になる日付)を入力」して、それから今日までが自動で入る場合、 1年経過したら自動でセルの背景Aに色付けし、2年、3年、4年、5年と同様に異なる色に色づけしたいのですが、どのようにすればよいのでしょうか?宜しくお願い致します。
- 締切済み
- 経営情報システム
- エクセルのマクロについて(重複セル色付け)
現在、エクセルで重複セルに色をつける際に、 条件付き書式から重複セルに色をつけております。 しかし、行数が多くなってくるにつれ、表が重くなってきましたので マクロで出来ないかをお教えいただきたいです。 重複のチェックは I から AYまで数字が入っており、 各行ごとの I から AYまでチェックをし、重複した数字のセルに色をつけたいです。 BからHは任意に数字を入力をしますので、Bに文字が入っている行について I から AYまでの重複チェック→色付けとなります。 そして、データも日々増えていきますので、 行の下からBに数字が入っているかを検索し、 入っていたら、その行から上に向かって各行ごとにチェック・・・ としたかったのですが、理屈は分かっていても組めないという情けない結果になり、 皆様にご相談させていただいた次第です。 表現が下手で申し訳ありませんが、ご回答をお願い致します。
- ベストアンサー
- Visual Basic
- 【VBA】曜日の色付け
XP/2003使用してます。 A列に日付け、B列に曜日を並べています。 B列には=TEXT(A11,"AAA")の数式が入っています。(←この式は訳あってどうしても必要です) B列に【土】もしくは【日】が表示されると、セルを黄色に色付けしたいのです。 例: B1に土が入れば、A1:E1 B2に日が入れば、B2:E1 の範囲を色付けしたいです。 マクロは初心者でいろいろ試しているのですが できません。 どうか助けてください。
- ベストアンサー
- Visual Basic
- 日付データとセル着色
セルに日付を入力しておき、その日から15日前になったらそのセルを黄色で表示し、またその日以降は赤を表示したいのですが、設定の仕方を教えてください。 OSはWIN98、エクセル97です。
- ベストアンサー
- オフィス系ソフト
- セルを自動的に色づけ
現在、エクセルにて工程表を作成しておりますが、行き詰っております。 あるセルに数値を入力したら、自動的に別のセルが色付けされる様な工程表を作成しようとしているのですがうまくいきません。 条件付き書式では1行ならば可能なのですが2行など複数行になるとできません。 例としては以下になります。 例)セルA1に5と入力すると、セルB1~F1までが黄色に色づけされる (※伝わりにくい部分もあると思い画像も添付いたしました。) どうしてもわからなくて質問いたしました。 作成方法、もしくは参考になるサイトなどありましたら、教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
たしかにわかってないです。 これを使わせてもらいます。 とても感謝しています。