- ベストアンサー
期間をきめて日程表作成
VBA初心者です。 今、日程表を作成しているのですが、調べてもわからないため質問させてください。 たとえば、1月と2月のカレンダーを日程はA列に、曜日はB列に取得する方法はネット上に答えが転がっているのですが、1月15日から2月14日までといったように期間限定でカレンダーを取得したい場合はどの様にしたらよいのでしょうか?VBAを使いワンクリックで取得できるようにしたいと考えています。 (期待している表) A列 B列 1/15 月 1/16 火 1/17 水 : : 質問が分かりにくくてすいません。
- T030036
- お礼率66% (2/3)
- Visual Basic
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Dim D, Y& D = #2009/01/15# Do Until D > #2009/02/14# Y = Y + 1 Cells(Y, 1) = D Cells(Y, 2) = Format(D, "aaa") D = DateAdd("D", 1, D) Loop 上記マクロを実行します。開始日と終了日は適宜、変更できるように しておく(どこかのセルを参照するなど)と良いでしょう。
その他の回答 (1)
- kazuhisa01
- ベストアンサー率32% (158/487)
Excelですか?Accessですか? Excelだとして回答します。 例えば下記のようなメソッドを作成します。 ------------------------------------------------------------------- Private Function GetWeekday(ByVal dtKeyDate As Date) As String Dim strRet As String '返却値の初期化 strRet = "不明" '日付判定 If IsDate(dtKeyDate) Then '正常な日付のみ曜日を取得する strRet = WeekdayName(Weekday(dtKeyDate)) End If '値を返却 GetWeekday = strRet End Function ------------------------------------------------------------------- で、クリックイベントに ------------------------------------------------------------------- Dim dtStDate As Date Dim dtEdDate As Date Dim lngIndex As Long '日付の開始終了の初期値設定 dtStDate = CDate("2009/1/15") dtEdDate = CDate("2009/2/14") 'インデックス初期値設定 lngIndex = 1 '開始と終了の日付が同じになるまで処理を行う Do Until dtStDate > dtEdDate 'データを表示 ※環境に合わせて変更 Sheet1.Cells(lngIndex, 1) = CStr(dtStDate) Sheet1.Cells(lngIndex, 2) = Left(GetWeekday(dtStDate), 1) '開始日付に1日加算 dtStDate = DateAdd("d", 1, dtStDate) 'カウント lngIndex = lngIndex + 1 Loop ------------------------------------------------------------------- とやればできると思います。 質問の趣旨と違ったら申し訳ありません。
お礼
早急な回答をありがとうございました。 なんだか難しいかんじですが、試してみると思い通りの動きになりました。 今よく見てコードがなにをしているのかを勉強しています。 どうもありがとうございました(^^) あっすいませんでした。エクセルの話でした。
関連するQ&A
- Excelの日程表について
日程表でB列とC列に日付を入れたら横についているカレンダーに関数や条件付書式を利用して、色を付けるようにしたいのですが、どのようにすればよろしいでしょうか? よろしくお願いします。
- ベストアンサー
- その他(インターネット・Webサービス)
- エクセルで作る月間表 その2/3
たびたびお世話になっております 再びエクセルに関する質問なんですが、 たとえばA1に「7月」 A2から順次「1日」、「2日」・・・「31日」 B列に曜日が表示され、 その表の下に、その月の曜日をカウントした表を作りたいのですが、 2005年の7月なら 日曜が5日(金、土も5日) 月曜が4日(火、水、木も4日) どのような式で求められるのでしょうか? 賢者のみなさん、ご教授をよろしくお願いいたします
- ベストアンサー
- オフィス系ソフト
- 月間チェック表を作成時の日付と曜日の出し方。
エクセルの表で質問です。 A B C D E F 1 2005 年 08 月 2 1 月 3 2 火 4 3 水 5 4 木 上記の表でC1とE1を打ち込んだときにA2・B2以降の 曜日と数字が変わるような処理をするにはどうすればよいでしょうか。 例えば2月は28日までなので29日~31日までの数字と曜日を 空白に出来るような処理にしたいです。
- ベストアンサー
- オフィス系ソフト
- エクセルでの日程表作成
一度投稿しましたが、用が足りておらずご指摘事項を再掲載させていただければと存じます。 お世話になります。エクセルでの日程表作成について教えていただければ幸いです。 習い事を運営していまして、毎月の生徒ごとの授業日程カレンダーをエクセルで作成したいと思っています。(添付画像の日程表) 別シートに生徒名を打ち込んであり、カレンダーの氏名をプルダウンで選択しています。 例えば、 氏名 G1 で 山田太郎 を選んだ時、G7に sheet2 のF2を 氏名 G1 で 山田花子 を選んだ時、C8にsheet2のB3、E8にsheet2のD3を 上記のように、生徒ごとに反映させたいです。 上手く説明できておらず申し訳ございませんが、よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- Excelの数式が全く分かりません
下記の様な表を作っていますが、ステータス”A”を入れる部分の数式が分かりません。 B列からH列は基本情報を扱っていて、曜日とその曜日に該当する項目に○がついています。 J列以降は横軸のカレンダーになっていて、5月、6月と進んでいきます。 設定したいことは、基本情報の曜日の○がついていたら、J列以降の該当する曜日にAがつく。ということです。項目Aの日曜が○だったら、4/2、4/9にステータスAが入るというかたち。 何を組んでよいのか全く分からないので、ご教授願いたいと思います A列 B列 C列 D列…H列 J列 K列 L列 1 4/2 4/3 4/4… 2 日 月 火 土 日 月 火 3 項目A ○ A 4 項目B ○ ○ A A
- 締切済み
- Excel(エクセル)
- VBAでスケジュール表を作成しています
業務短縮化のために、VBAを使って社内のスケジュール管理ファイルを制作しています。 つくろうとしているのは、こんな感じです。 1、まず、罫線だけのマスター用紙があります。 2、別シートに設置した「スケジュール作成」ボタンをクリックすると、マスター用紙がコピーされ、新しいシートが作成されます。 この新しいシートの「A」列に、自動的にカレンダーが入力されます。 この2の部分をVBAで自動化したいと考えています。 すでにボタン押下→シートをコピーするところはできました。 カレンダーを作るには、月の最終日の日にちと曜日をとればいいのかな?とか予想はしているのですが。。。 手掛かりなどありましたらお願いします
- ベストアンサー
- オフィス系ソフト
- エクセルで勤務日程表を作りたい!
エクセル2010を使って、添付した画像のような日程表を作りたいです。 月間のシフト表と日程表は別のエクセルブックです。 実際の従業員は20名いる上、勤務時間もバラバラなので「早番」「遅番」と設定する事が出来ません。 日程表は、一番左の列がA列とすると、A列、E列、H列、L列に時間列が入ります。 勤務時間外の時間帯のセルをグレーで塗りつぶしたいのですが、 このような表を作るにはどうしたら良いでしょうか? どなたかお力を貸して頂けませんでしょうか?よろしくお願い致します。
- 締切済み
- Visual Basic
- エクセルの当番表を作りたいのですが
似たような質問があると思いますが、なかなか合ったものが無かったので質問させていただきます。 1か月の活動内容が記載されたカレンダーがありまして、A列に日付が1か月分入っています。 B列に当番の名前を入れたいのですが、毎日では無くて飛び飛びになっています。 具体的には、火・木・土・日だけしか当番の名前は入りません。 月次の予定表を兼ねているので、火・木・土・日だけの表示にする事はできません。 当番は10人で、1年間同じ順番で回ってきます。 大した数ではないので今まで直接打込んでいましたが 何か自動でできるような便利な方法がありましたら教えてください。 もう一つ、C列には、管理者が入ります。 管理者は火・木担当と、土・日担当がいます。 管理者は、曜日固定でいつも同じ人が入ります こちらも何か便利な方法があれば教えてください。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
お礼
まさかこんなに奇麗にまとまった回答がくるとは…と思いながら実行してみると自分の思い通りの動きをしてくれました。 感動しています。今回2通りのパターンの回答をいただいているのですが、両方ともまだ自分の力では思いもつかないような回答で、なんだか楽しくなっています。 少し仕事上マクロが必要なため勉強しているので、また質問するかもしれませんがよろしくおねがいします。