• 締切済み

エクセルでカレンダーを作りたい

こんにちは。 仕事で、エクセルでカレンダーを作ることになり、 "1日目を打ち込むと、あとは勝手に31日まで計算・表記してくれる"ようなプログラムを組みたいのですが、 エクセルがほとんど使えないのに、急ぎの用件で任され困惑しています。 どなたかお力添えしていただけませんでしょうか。。。 隣のセルに+1していく様に作ればいいとは言われているのですが・・・ お願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

>プログラムを組みたいのですが 課題丸投げでこの質問コーナーの規約違反。それに質問に回答しても、質問者はVBAコードを理解できるのか問題が有る。部分的に出来ないことならよいが、自分に出来ないことをこのコーナーにコードを書いてくれというのは回答者はたまらない。 下記に最低線のコードを書いておく。 セルの書式(色・フォント・サイズ・配置)、列幅、行高・罫線などの設定は省いている。 年月の位置(セル)の変更などは、コードを見て類推のこと。 毎月分シートを別にして12ヶ月作成するには、大枠で、月の繰り返しのFor nextを入れること。 === 色々のコードの組み方がある。 関数でもできる。 ーー 1年分 Sub test01() Dim y As Variant For k = 1 To 12 Worksheets(k).Activate Worksheets(k).Range("A1") = 2008 Worksheets(k).Range("B1") = k Range("A3:M25").Clear sr = 4 '左上隅の行 Sc = 3 '左上隅の列 y = Array("日", "月", "火", "水", "木", "金", "土") For i = 0 To 6 Cells(sr - 1, Sc + i) = y(i) Next i d = DateSerial(Range("A1"), Range("B1"), 1) '月初日作成 wd = Weekday(d) '月初の曜日取得 ' 月末日取得 matu = Day(DateSerial(Range("A1"), Range("B1") + 1, 0)) n = 1 '1日 s = Sc + wd - 1 '1日のスタートセル For i = sr To sr + 5 * 2 Step 2 '2行おきの行に日付をセット。5週分 For j = s To Sc + 6 '7日分繰り返し If n > matu Then GoTo p1 '末日を超えたら終わる Cells(i, j) = n 'セルに日にちを入れる n = n + 1 '日にちを1勧める Next j s = Sc '2週以後は日曜を最初列にセット Next i p1: Next k End Sub

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

>隣のセルに+1していく様に作ればいいとは言われているのですが・・・ 少し違う案ですが、 A1セルに 2008/2/1 と1日目の日付があるとして B1セルに =$A$1+COLUMN(A1) 右コピィ 或いは A2セルに =$A$1+ROW(A1) 下コピィ する方法があります。 この方法だと、B1セルに =IF(MONTH($A$1)=MONTH($A$1+COLUMN(A1)),$A$1+COLUMN(A1),"--") として右コピィすれば、その月の月末の対応が出来ます。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.5

dame2sanさん、こんにちは アドヴァイス通り、「隣のセルに+1していく様に作ればいい」です。 この意味は、例えば、 (1) A1セルに2008/11/1を打ち込みます(実際は当年の場合11/1でOkですよね)。 (2)A2セルに「=$A1+1」を打ち込みます。 (3)A2セルを残りの日数分コピーします。 ※もし、日付の表示が気に入らなかったらセルを選択しておいて、メニューの「書式」-「セル」:表示形式の日付で調整しましょう。

dame2san
質問者

お礼

ありがとうございます。 まんまその計算式のサンプルを落として対処できました! 少しですが、エクセルを理解できました。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.4

たとえば、A1に今日の日付を入力し、A2に「=A1+1」という計算式を入力すると、A2には明日の日付が表示されます。 「隣のセルに+1していく様に作ればいい」というのは、そういうことを言っているんだと思いますよ。

dame2san
質問者

お礼

ありがとうございます。 落としたサンプルもそうやって日付計算をやっていました。 次は自分でも出来るようにしたいですね。。。

  • htsc
  • ベストアンサー率42% (3/7)
回答No.3

目的とする物が横長なのか縦長なのか、壁掛けカレンダーみたいなのか不明ですが、「エクセルカレンダー」で検索したら結構ヒットしますよ。 ダウンロードできるところもあったりしますが、マクロを使ってたりしますので、実行は慎重に。

dame2san
質問者

お礼

ありがとうございます。 実際にサンプルとして作成されていたカレンダーを落として 手を少し加えて対処しました!

  • cahneko
  • ベストアンサー率57% (4/7)
回答No.2

オフィスにカレンダーのテンプレートがあって簡単にダウンロードできますが、それじゃダメなんでしょうか? 新規作成 ↓ オフィステンプレートをクリック ↓ サイトにジャンプ プログラムを組みたいならこれからある程度のお勉強が必要だし 忙しくてしかもさっさとやらなきゃならない時はタイヘン

dame2san
質問者

お礼

ありがとうございます。 試してみましたが、なぜかエラー表示が出て出来ませんでした。 教えて下さったのにすみません。。。

回答No.1

どういった様式のカレンダーでしょう? ただ単純に1~末日までが縦1列で並んでいるようなカレンダーか、日~土として7日おきに改行するようなカレンダーか。

dame2san
質問者

お礼

ありがとうございます。 曜日形式のカレンダーですが、どなたかのサイトのサンプルを少しいじって対処できました!

関連するQ&A