• 締切済み

エクセルで各シートに日付・曜日一括表示するには

(1)エクセルで7月31日分のシートをつくり、今年のカレンダーどおりの日付・曜日を(各シートのA1セルに、いちいち入力するのではなく)一括で各シートのA1セルに表示できる方法があれば、教えて下さい。 (2)エクセルで昨年7月の平日の数だけシートがあるファイルがあります。各シートのA1セルには、「平成19年7月○日(○曜日)」と入力されています。 このファイルを、今年の7月の平日カレンダーに一括置換するには、どうすればいいでしょうか? 昨年と今年は平日の日付はもちろん、同じ日でも曜日が違いますので、各シートを開き、いちいち日付・曜日を直さなければいけないのでしょうか。教えて下さい。宜しくお願いします。

  • reaf
  • お礼率87% (142/163)

みんなの回答

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

(1)31枚のシートに1日づつずらした日付を入れる方法 VBAで無いと出来ないでしょう。下記のように簡単。 シートの名前がシート1,シート2・・などで、そのシート名の1や2・・に頼る方法もありますが、変えられるとだめになるので、やめておいたほうがよいでしょう。 シートが別になると連続データの作成や関数式の複写が働かなくなるので難しいのです。 Sub test02() For i = 1 To 4 Sheets(i).Range("a1") = #6/30/2008# + i Sheets(i).Range("a1").NumberFormat = "yyyy/mm/dd(aaa)" Next i End Sub ただし日付を入れるシートは31枚がシート名のタブ位置的に固まっていること、他のシートが混じってないこと。が条件です。 私はシートが4枚しかないので、4でテストしたが For i = 1 To 31 で、シートを31枚用意してやってください。 (2)今年の日付で置き換え ただし去年のシートは平日枚数分がシート名のタブ位置的に固まっていること、他のデータ性格のシートが混じってないこと。という前提で (1)上記のプログラムの中で、WEEKDAY関数で土日を判別し (海の日が規則を乱すが特別に判別して飛ばす)土日は飛ばして次のシート(.Nextシート)に順順に日付をセットしていけば簡単。 Sub test03() Sheets(1).Select For i = #7/1/2008# To #7/4/2008# If Weekday(i) = 1 Or Weekday(i) = 7 Or i = #7/21/2008# Then Else MsgBox Format(i, "yyyy/mm/dd(aaa)") ActiveSheet.Range("A1") = Format(i, "yyyy/mm/dd(aaa)") ActiveSheet.Next.Activate End If Next i End Sub ただし今年平日数より、1シートだけ最後の次に余分にシートを作っておいて実行してください。 祝日・会社休業日等を年間で一般化するのはコードが複雑になる。

reaf
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

#1のレスは、 (2) に対するものです。 (1) に関しては、VBAで行行うことになると思います。

reaf
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

「置換」でオプションの検索場所を「ブック」にして、 検索する文字列:2007 置換後の文字列:2008 としてはいかがでしょう?

関連するQ&A

  • Excelで違うシートから日付を引っ張ってきたい

    すいませんが教えてください。 EXCELでAのシートとBのシートがあって、 Aのシートに日付を入力していきます。 その日付をBシートに引っ張ってきたいのですが、 ='Aシート'!A2 とBシートのA2に入れると Aシートの空白セルでは 「1月0日」となってしまいます。 空白セルは同じように空白セルにしたいのですが、 やり方がわかりません。 よろしくお願いします。

  • Excelにて日付と曜日を自動的に表示できるように…

    ひと月につきひとつのファイル(Excel)で、 その中に1日1枚記入するワークシートが1か月分…つまり1から31まであります。 その1枚ずつに日付と曜日を入れるセルがそれぞれあります。 毎月、前月のファイルをコピーして使用するのですが、 そのため入力する度に日付と曜日を変えています。 これを自動的に表示させる方法はないでしょうか? 例えば10月のファイルなら、 12という名前のワークシートは日付が2005/10/12で曜日が(水)と表示されるような… もし何か名案があればよろしくお願いします。

  • 自動で日付、曜日を表示した

    エクセルで、例えば A1セルに西暦、B1セルに月を入力すれば A3セルから順に下に日付(1日 2日 3日・・・) B3セルから順に下に曜日(例えば今月なら金 土 日) というように自動的に表示できるようにしたいのですか 可能でしょうか? マクロを使えばいいのでしょうか? 可能ならやり方を教えてください。 よろしくお願いします!

  • EXCELマクロでの曜日の表示

    はじめまして。 EXCELマクロで曜日を表示させたいのですが、方法がわかりません。 A1セルに年、A2セルに月、A3~AE3に日付(1~31) が入力されている状態で、A4~AE4に曜日(日・月・・・土)を表示 させたいのですが、どのようにすればよいでしょうか? あまり文章を書くのが得意ではないので、わかりにくいかもしれませんが、宜しく御願いします

  • エクセルで曜日を表示したい

    いつもお世話になります。 エクセルのことで教えてください。 WEEKDAY関数を使って、A3セルに曜日を表示させたいと考えています。 (1)西暦は、A1セルでプルダウンで選ぶことになっています。  プルダウンから「2017,2018,2019」という具合で選べます。 (2)月日は、A2セルに手入力で4桁の数字を入力することになっています。  7月21日であれば、「0721」という具合で手入力します。(先頭の0は消えてしまいますが・・・) さて本題ですが、 A1セルとA2セルの情報を引っ張って、A3セルに、weekday関数で曜日を反映させる方法を教えてください。 なおA4やA5セル等、余白セルはありますので、他のセルや他のシートを経由することも可能です。 どうぞよろしくお願いいたします。

  • エクセル2010で日付、曜日の表示法

    エクセル2010で当日の日付、曜日を一つのセルに【10月8日(月)】と表示させるにはどの様な関数を用いれば良いのでしょうか。また、連続した日付、曜日はオートフィルすれば表示できますか。合わせてお教え下さい。お願いいたします。

  • エクセルで日付→曜日を返すには

    エクセルでエクセルで日付 (例 2004/8/1といった形式での入力)→ 曜日を返すには なにか関数がありますか? 飛び飛びの日付が隣り合ったセルに入力されているの ですが その間の日付をセルに返して 本来の位置に移動することは可能でしょうか? 自分で考えてみたのですが とっかかりさえつかめません、 皆様よろしくお願いします。

  • エクセルのシート間で連続した日付データを作りたい

    オートフィル機能をシート間の串刺しでやりたいと考えています。 現在、日付ごとに1日から31日までの31枚のシートがあります。 1枚目のシートのA1セルに1月1日と入力すると、その後30枚のシートのセルA1にそれぞれ1月2日~31日までの日付が自動で表示できるようにしたいのですが、どのようにすれば楽に処理できるのでしょうか? なお、A2セルには曜日も表示させる予定です。 ご存じの方がいらっしゃいましたら、ぜひお知恵を拝借させて下さい。

  • Excelで曜日の自動表示をしたい

    先程、Excelで日付を自動で表示させる方法を質問したのですが、 今度は曜日も自動で表示させたくなったので、 再び質問させて頂きました・・。 Excelで年と月を入力しているセルを読み取り、 それに適合する曜日を自動で表示する式を教えて下さい。 例えば、 A1セルに、2003 A2セルに、5 A3セル~A33セルに、日付 が表示されている時に、 B3セル~B33セルに、A列に表示されている日付に合致した曜日を 自動で表示させるような式があれば、教えて下さい。 よろしくお願いします。

  • エクセルのハイパーリンクのシート名の一括変更

    お世話になります。 エクセル2010で、シート上部の7×5の35個のセルにその月の1から35日間のカレンダーを作りました。(左上のセルに日付を入れて「そのセル+1」をコピーして簡単にその月の1日から35日先まで日付を埋めました。 そのカレンダーの日付をクリックすると所定のセルにジャンプするように35回リンクを貼ったのですが、そのシートをコピーして12か月分のシート作るとリンクが最初のシートのカレンダーの当該日にジャンプしてしまうことに気付きました。 各シートのハイパーリンクのリンク先のシート名をせめて1シート毎に、リンク先のシート名を一括で変更できない者でしょうか? 35回X11枚のシートは気が遠くなりそうです。

専門家に質問してみよう