- ベストアンサー
使用する関数を教えて下さい。
日報などを作成する場合に例えば1週単位・1ヶ月・1年とした場合に最初のシートに18年10月1日とした場合に次のシートを開いた場合に10月2日と記入する方法を知りたいのですが・・曜日も記入したいです。どなたか宜しく御願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
日報と言う事ですのでシート単位で日、ブック単位で週、月、年と分けて ・・・セルに日付と曜日を表示させたいのだろうと予想します。 セルに日付と曜日を表示させたいのであれば【関数】と【セルの書式】で行えます。 Sheet1のA1に18年10月1日と入力して、Sheet2のA1に18年10月2日とするには Sheet2のA1に =Sheet1!A1+1 セルの書式に [$-411]ge"年"m"月"d"日" aaa (「H18年10月2日 月」と表示) または [$-411]ggge"年"m"月"d"日" aaaa (「平成18年10月2日 月曜日」と表示) を設定します。 ポイントとしてはセルの書式において aaa で曜日の日~土、 aaaa で日曜日~土曜日 で曜日を表示させられるというところです。 シート名に日付と曜日を表示させるのであればマクロを使う必要があります。 自分はマクロについて詳しくないので、こちらの説明は省略させていただきます。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 No.2469197(Deleted)>シート内の日付と曜日は出来ましたがシート名も変えたいので宜しく御願いします。 シート1 の A1に入れるのは、シリアル値で、書式は、日付になっている必要があります。 シートタブを右クリックして、コードの表示で、以下を貼り付けます。 '------------------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'ワークシート1 ~ ワークシート(全数-1) の場合 If Target.Address(0, 0) = "A1" Then If ActiveSheet.Index + 1 > ThisWorkbook.Worksheets.Count Then Exit Sub Application.EnableEvents = False If IsDate(Target.Text) Then ActiveSheet.Next.Range("A1").NumberFormatLocal = "E!年M!月D!日 aaa" ActiveSheet.Next.Range("A1").Value = Target.Value2 + 1 End If ActiveSheet.Next.Name = Format(Target.Value2 + 1, "e年m月d日") Application.EnableEvents = True End If End Sub '-------------------------------------------------------------
- Kurouto
- ベストアンサー率28% (96/338)
シート名を日付と曜日にしたいのですか? それともシート内のどこかに日付等を入れたいのですか? それによって答えも大きく変わってきます。 いずれにせよ、関数ではできません。 マクロを作る必要があります。
補足
曜日も記入したいのですが!再度宜しく御願いします。