エクセルに詳しい方、得意な方、ご回答をお願いいたします。
エクセル2007で、予定表とカレンダーを作成しております。
エクセルの予定表シートG列(G14~下の列)のイベント(予定)内容を、1月シートA12:H41の各日付に合致した場所(1/1の場合A13~A17(日にちが入力されているセル(A12)は除く)へ反映させたいのですが、その場合のマクロコードもしくは数式を教えて下さい。
なお、添付資料では、カレンダーシートは1月のみ表示となりますが、実際は、月ごとに分かれた1月~12月までのシートがあります。
ご回答いただくのに、大変お手間になると思いますが、どうぞよろしくお願いいたします。
No.1
- 回答日時:
DATE関数、WEEKDAY関数、VLOOKUP関数を組み合わせてなんとかできました。
ヒントです。勉強してください。
そのうち、だれか教えてくれるでしょう。
どうしても無理なら、また質問をあげてください。
No.2
- 回答日時:
長い複雑な式を埋め込むより、複数シートの処理を一気にマクロでやってしまった方がかえって簡単です。
参考まで。Sub test()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim ws_name As String
Dim i As Long, imax As Long
Dim wk_Range As Range, wRange As Range
Application.ScreenUpdating = False
Set ws1 = Worksheets("予定表")
With ws1
imax = .Cells(Rows.Count, "G").End(xlUp).Row
For i = 14 To imax
If .Range("G" & i).Value <> "" Then
ws_name = Month(.Range("A" & i).Value) & "月"
Set ws2 = Worksheets(ws_name)
Set wk_Range = ws2.Range("A12:G42")
For Each wRange In wk_Range
If wRange.Value = .Range("A" & i).Value Then
wRange.Offset(1, 0).Value = .Range("G" & i).Value
Exit For
End If
Next wRange
End If
Next i
End With
Application.ScreenUpdating = False
End Sub
No.4
- 回答日時:
こんにちは!
https://oshiete.goo.ne.jp/qa/9483136.html
のサイトの関連質問ですね。
画像を拝見すると何とかカレンダーは作成できているようですので・・・
まず、
① 「予定表」SheetのA列すべてを範囲指定 → 名前ボックスに 月日 と入力し、A列を「月日」と名前定義します。
② 「予定表」SheetのG列すべてを範囲指定 → 同様に イベント と名前定義
以上の準備をしておきます。
そして各月SheetのA13セルに
=IFERROR(INDEX(イベント,MATCH(A12,月日,0))&"","")
という数式をいれます。
最後にA12~A16(5行をまとめて範囲指定)しA16セルのフィルハンドルで
列方向にコピー → そのまま下へ5行ずつコピーしてみてください。m(_ _)m
tom04さん、再びご回答いただきまして、ありがとうございます。
再度、教えていただきたいことがございます。
tom04さんのご回答に、補足でコメントを付けさせていただきました。
お手数ですが、そちらを確認していただけないでしょうか。
どうぞ、よろしくお願いいたします。
No.5ベストアンサー
- 回答日時:
No.4です。
条件付き書式の設定について・・・
この際ですので、日・祝日・土曜の色付けも条件付き書式でやってしまった方が簡単だと思います。
前回回答した最後の日・土曜の塗りつぶしは「なし」にしておいてください。
そして祝日データに関しては「祝日」と名前定義してあるとします。
画像の配置だとA11~A14セルすべてに同じ条件付き書式の設定を行います。
(数式はすべて同じです)
一つのセルに条件付き書式を二つ設定します。
① 日・祝日の設定
A11を選択 → 条件付き書式 → ・・・中略・・・ → 数式欄に
=OR(WEEKDAY(A11)=1,COUNTIF(祝日,A11))
として → 書式 → 塗りつぶしから「赤」を選択しOK
この操作をA14セルまで行う。
② 土曜の設定
同様にA11セルを選択 → 条件付き書式 → ・・・中略・・・ → 数式欄に
=WEEKDAY(A11)=7
という数式を入れ → 書式 → 塗りつぶしから「青」を選択しOK
この操作をA14セルまで行う。
複数の条件付き書式を設定すると優先順位がありますので、
↓の画像のように「赤」の条件付き書式が上になるように赤丸部分の▲・▼をクリックし優先順位を入れ替えます。
最後にA11~A14セルを範囲指定 → A14セルのフィルハンドルで右へコピー → そのまま4行ずつ下へコピー!
これでなんとかお望みどおりにならないでしょうか?m(_ _)m
ついに、で、出来ました!!!
めちゃくちゃ嬉しいです。
これで、明日、会社でカレンダーを仕上げることが出来ます。
本当に、本当に、ありがとうございました。
教えてgooにも、回答リクエストがあれば良いのにな……。
違う件で質問させていただいた際は、また是非、tom04さんご回答をよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から 4 2022/08/02 23:08
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) 翌日にお休み予定の従業員がいる場合にアラートを出したい 1 2023/07/11 11:18
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
数字がセルの左側に寄っていて...
-
【Excel】貼り付けた画像がいつ...
-
日付が1年以内になると他のセル...
-
エクセル 入力中に表示されな...
-
エクセルで平均時間の表示の仕方
-
エクセルで条件付き書式を使わ...
-
セルに値を入力したら、セルに...
-
Excel で金額の,で中央揃えす...
-
エクセルで入力数字に自動的に,...
-
角度計算フリーソフト教えてく...
-
エクセルの表に突然€(ユーロの...
-
エクセルで同じ値が連続してい...
-
Excelの単一セルから結合セルへ...
-
エクセル カタカナの文字を検...
-
Excelの入力規則のリストに上付...
-
エクセルに貼り付けると日付表...
-
VBAのエラーで、セルの書式が多...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
日付が1年以内になると他のセル...
-
エクセル 入力中に表示されな...
-
数字がセルの左側に寄っていて...
-
【Excel】貼り付けた画像がいつ...
-
条件付き書式で範囲外だったら...
-
エクセル カタカナの文字を検...
-
エクセルで条件付き書式を使わ...
-
エクセルで同じ値が連続してい...
-
エクセル:セルのバックの色だ...
-
Excelについて▶あるセルに文字...
-
エクセルで平均時間の表示の仕方
-
エクセルで縦書きのかっこ
-
エクセルで入力数字に自動的に,...
-
エクセルでふりがなごとリンク...
-
エクセルで書式設定だけを固定...
-
excel 表計算 加算するセルが空...
-
エクセル「一度設定した列幅を...
おすすめ情報
tom04さん、再びご回答いただきまして、ありがとうございます。
本日、教えていただいた方法で、カレンダーに予定表の内容を無事に反映することが出来ました。
tom04さんのおかげで、とても便利なカレンダーに仕上がりそうです。
最後にもう1つ教えていただけないでしょうか?
祝日の塗りつぶし(条件付き書式)ですが、私の設定ミスなのか、日にちの入っていない部分にも塗りつぶしされてしまいます。
添付画像ですと、1月31日以降の11マスが塗りつぶしされています。
その部分(日にちが表示されていないマス)を塗りつぶしされないようにするには、どうしたらよろしいでしょうか?
大変図々しくて申し訳ございませんが、そちらも教えていただけたら、とても助かります。