ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュのエクセル2003を使ったカレンダー

  • mixiチェック
  • このエントリーをはてなブックマークに追加
エクセル2003を使ってカレンダー(手帳のようなもの)を作成中です。


2009年1月1日〜2009年12月31日までの分を月ごとにシートを分けて作ろうと思います。

イメージは添付の図のようなイメージを予定しています。

A列:日付 
B列:A列の日付に対応した曜日をWeekday関数を使って表示。
C列:該当日に行うべき項目を記入し、「チェックボックス」を挿入
D列:C列のチェックボックスにチェックが入っていたら「完了」、入っていなかったら「未完了」の表示


上記のような条件で作成しているのですが、下記の2点が設定できず、作成に非常に時間がかかります。

?B列が日曜日の時は「条件付き書式」で赤色にしていますが、祝日も色を変えることは出来ますか?

?D列の「完了」「未完了」はチェックボックスに「リンクするセル」をC列にして、IF関数で表示を変えています。 
各日付に項目は5つあるので、1ヶ月で150個のチェックボックスができます。
したがって150個のチェックボックスそれぞれにリンクするセルを設定しないといけません。
これを1年分行うとなると非常に時間がかかるのですが、効率よく行える方法はないでしょうか?



以上、何かいい方法があれば教えてください。
良い方法がなければあきらめて時間かけて作成しようと思います。

コメント(6)

そんな手間掛けなくてもYahoo!カレンダー使ったほうがいいと思いますが・・・(笑)

外出先からでも携帯で閲覧・修正できるし、重要な予定はリマインダで携帯に
予定のメール送れるし(笑)
セキュリティ関連でYahooカレンダーとかGoogleカレンダー使えないところもありますよ。
祝日ですが、セルを1列隠してそこに祝日フラグを書き込むとか、workday関数を使用するとかすればいいのではないかと。

参考: http://www.atmarkit.co.jp/fwin2k/win2ktips/383workday/workday.html
祝日の判別は、別シートに祝日の表を作っておき、VLOOKUP()またはMATCH()を条件付き書式の数式で用いればできます。法律が変わっても修正が簡単です。
または、下記のマクロ函数を使ってもいいですね。

■VB/VBA 用祝日判定コード
http://www.h3.dion.ne.jp/~sakatsu/holiday_logic.htm#VBA
>MILANOさん
ありがとうございます。
確かにYAHOOカレンダーを使うと便利だと思いますし、
僕も個人的には活用しています。
説明が遅くなりましたが、会社の業務用カレンダーを作ってチーム全員で予定と行動結果を記入し、
管理できるようにしたいのです。

>まりぬこっぽいどさん
>Goldenさん
ありがとうざいます。
やはり休日は別シートに表を作ってから別の関数で表示させるしかないですね。

>やはり休日は別シートに表を作ってから別の関数で表示させるしかないですね。
VBAなら別シートに作る必要はありませんよ。

チェックボックスの挿入もVBAでやってしまいましょう。
下記のコードを標準モジュールに貼り付けて実行してください。
D列は条件付き書式で完了・未完了を表示するようにして下さい。

Option Explicit
Sub Macro1()
  Dim lngView As Long
  Dim dblZoom As Double
  Dim i As Long
  Dim strLft As Single
  Dim strTop As Single
  Dim strWth As Single
  Dim strHht As Single

  With ActiveWindow
    lngView = .View
    dblZoom = .Zoom
    .View = xlNormalView
    .Zoom = 100
  End With

  With ActiveSheet
    For i = 2 To 151 Step 1
      With .Range("C" & i)
        strLft = .Left
        strTop = .Top
        strWth = .Width / 2
        strHht = .Height
      End With
      .CheckBoxes.Add(strLft, strTop, strWth, strHht).Select
      With Selection
        .Name = "Check Box " & i - 1
        .Characters.Text = ""
        .Placement = xlMove
        .PrintObject = True
        .Value = xlOff
        .LinkedCell = "$D" & i
        .Display3DShading = True
      End With
    Next i
  End With

  With ActiveWindow
    .View = lngView
    .Zoom = dblZoom
  End With
End Sub
>Goldenさん
ありがとうざいます。
教えていただいたVBAで来年1年分のカレンダー全部できました!!!

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。