• ベストアンサー

色つき行を非表示にしたい。

お世話になっております。 エクセル(2007)で悩んでいます。 月ごとのカレンダーをつくっているのですが、 A列は日付、B列はWEEKDAY関数で曜日を入れてあります。 C列以降は備考欄にしています。 土日祝日は日付と曜日を色つきセルにして、わかりやすいようにしてるのですが、この色つきセルの行を非表示にしてしまいたいのですが、どのようなマクロが使用できるのでしょうか、ご教示ください。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

こんばんは。 VBAの力を借りる前に、条件付書式とかオートフィルターは試されましたか? 作業列を使用した案で説明しますが 土日を祝日にするには、空いている列に =Weekday(A2,2)>5 と入れて下までコピィしてみてください。 土日の曜日にはTrueが得られます。 祝日を判断するために、別シートにでも祝日の一覧表を入れておきます。 別シート  A 2009/1/1 2009/5/5 ・・・といった具合です。 これを利用して、日付のシートの空いている列に =COUNTIF(別シート!A:A,A2)>0 と入れて下までコピィすると 祝日の日付の場合に True が得られます。 この2つ組み合わせて =OR(WEEKDAY(A2,2)>5,COUNTIF(別シート!A :A,A2)) と入れて下までコピィしておけば、土日祝日の場合に True が表示されますので この式の結果を利用して条件付書式で、自動で色をつけることが出来ます。 オートフィルターで、土日祝日を非表示にしたり表示にしたり出来ます、 一度、試してみてください。

obbli6
質問者

お礼

このような方法もあるんですね。 大変参考になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

セルの塗りつぶしの色は  Cells(row,column).Interior.ColorIndex で取得できますので、休日の色の行を非表示にすればよいでしょう。 ある行を非表示にするのは  Rows(範囲).Hidden = True とか  Cells(row,column).EntireRow.Hidden = True でできます。 実は、非表示にする命令は時間がかかるみたいなので、まとめて行ったほうが実行時間が短くできますが、ご質問の内容ですと一月分で10行ほどなのでそれほど気にしなくてもよいかも。 1年分まとめて行うなどの場合は、1行ずつ非表示にするよりも、まとめて範囲指定して非表示にしたほうがよろしいかと思います。

obbli6
質問者

お礼

ありがとうござます。 勉強して、マクロが組めるようにします。

すると、全ての回答が全文表示されます。

関連するQ&A

このQ&Aのポイント
  • ピータッチキューブ(PT-P910BT)を使用している際、充電器を繋ぎながら印刷を試みたところ「バッテリーが弱くなりました。充電してください。」と表示され印刷ができません。30分程度充電しても同じ結果が出ます。
  • エラーが発生した際、充電中のランプはオレンジ、上部のランプは青ですが、エラー表示後に上部のランプが赤く点滅します。使用環境はiPhone iOS 17.5.1でBluetooth接続です。
  • 試みた対策として、充電器を刺しながらの印刷や30分の充電を行ったが、問題解決には至らなかった。充電中とエラー後のランプの状態についての詳細な情報も提供されています。
回答を見る

専門家に質問してみよう