• ベストアンサー

excel日付データのセルに色つけ:マクロ

Excelの表があります。 H列のH2セルから以下に、適当な数分“日付け及び時間データ”が入っています。データの最後の次は空白セルです。 そのデータに対して金曜日に薄い水色、土曜日に薄い黄色、日曜に薄い橙色というように色つけをしたい。マクロを作って処理したいのですがどうすればいいですか。 よろしくお願い致します。

  • taktta
  • お礼率72% (1031/1430)

質問者が選んだベストアンサー

  • ベストアンサー
noname#123709
noname#123709
回答No.4

文章を見る限りではマクロが分かってる人には見えないですが・・・。 さっぱり分からない人の聞き方ですよね。 下記は一例ですが。 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

taktta
質問者

お礼

たしかにわかってないです。 これを使わせてもらいます。 とても感謝しています。

その他の回答 (5)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

もういっぱい回答がでているようですが・・・。 これでも出来ますね。 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

taktta
質問者

お礼

皆さんありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.5

3通りでいいなら条件付書式のほうがいいでしょうね。 H2から条件をつける範囲を選択して「書式」「条件付書式」で 「数式が」「=AND(ISNUMBER($H2),WEEKDAY($H2)=6)」で書式設定を押し、パターンを薄い水色 「追加」を押して 「数式が」「=AND(ISNUMBER($H2),WEEKDAY($H2)=7)」で書式設定を押し、パターンを薄い黄色 「追加」を押して 「数式が」「=AND(ISNUMBER($H2),WEEKDAY($H2)=1)」で書式設定を押し、パターンを薄い橙色 で設定できます。

回答No.3

マクロと言うことなのでアバウトですが作ってみました。 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 ※他の方の仰るとおり「条件付書式」でも良いような気がしますが・・・

taktta
質問者

お礼

皆さんありがとうございました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

VBAで実現する必要性が無いのなら、条件付き書式の方が便利かと思います。

taktta
質問者

お礼

早速の回答ありがとうございます。 条件付き書式の方のやり方は理解しています。

taktta
質問者

補足

他人から与えられたファイルに対してそのようにしたいのでマクロをランさせた方が簡単かと思いました。なおファイルは毎月数件もらいます。

noname#123709
noname#123709
回答No.1

どこまで出来ているのでしょうか?それを掲示して下さい。

taktta
質問者

お礼

皆さんありがとうございました。

taktta
質問者

補足

CHOOSE(WEEKDAY(H2,1))とか考えている段階です。

関連するQ&A

  • 【Excelマクロ】基準日より前の日付のセルを色付

    基準日が入力されているセル(D2)があります。 回収期限(D列)がその基準日を含む前の日付のデータ(A:D)に黄色で色付けするマクロをご教示ください。 条件付き書式はあえて対象外のデータを色塗りしたくない場合に、わざわざ条件付き書式を消すのが面倒なのでやめました。

  • 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に数字が入っているかを検索し、 入っていたら、その行から上に向かって各行ごとにチェック・・・ としたかったのですが、理屈は分かっていても組めないという情けない結果になり、 皆様にご相談させていただいた次第です。 表現が下手で申し訳ありませんが、ご回答をお願い致します。

  • 【VBA】曜日の色付け

    XP/2003使用してます。 A列に日付け、B列に曜日を並べています。 B列には=TEXT(A11,"AAA")の数式が入っています。(←この式は訳あってどうしても必要です) B列に【土】もしくは【日】が表示されると、セルを黄色に色付けしたいのです。 例: B1に土が入れば、A1:E1 B2に日が入れば、B2:E1 の範囲を色付けしたいです。 マクロは初心者でいろいろ試しているのですが できません。 どうか助けてください。

  • 日付データとセル着色

    セルに日付を入力しておき、その日から15日前になったらそのセルを黄色で表示し、またその日以降は赤を表示したいのですが、設定の仕方を教えてください。 OSはWIN98、エクセル97です。

  • セルを自動的に色づけ

    現在、エクセルにて工程表を作成しておりますが、行き詰っております。 あるセルに数値を入力したら、自動的に別のセルが色付けされる様な工程表を作成しようとしているのですがうまくいきません。 条件付き書式では1行ならば可能なのですが2行など複数行になるとできません。 例としては以下になります。 例)セルA1に5と入力すると、セルB1~F1までが黄色に色づけされる (※伝わりにくい部分もあると思い画像も添付いたしました。) どうしてもわからなくて質問いたしました。 作成方法、もしくは参考になるサイトなどありましたら、教えてください。 よろしくお願いします。

  • マクロで色つけ

    EXCEL2000で、条件に合うときセルを塗りつぶすマクロを作りたいので教えて下さい。 A列にはA01やB02など「英数数」の3桁のコードがあります。 A列がDから始まるときにF列G列をグレーに塗りつぶしたいのですが、 元々セルには黄色で配色していて、その後F列G列に入っている数値を確認したあとは、塗りつぶしを消します。 A列がDから始まるとき、F列とG列が、塗りつぶしがなければそのままで、黄色の時はグレーにするマクロを作成するにはどのようにすればよいでしょうか?

専門家に質問してみよう