• ベストアンサー

エクセルで連続した日付の入力方法

エクセルで日付の入力についてお聞きしたいのですが、 例えば、A1からA150までを2007/1/1、A151からA300までを2007/1/2、A301からA450までを2007/1/3・・・というように、1日当たり150個のセルを3年分、コピーしていきたいのですが、よい方法はありますか? データがたくさんあるので、1日ずつコピーをすると時間がかかってしまいます。。。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

まずEXCELの最大行数は65536ですから、もしお使いのEXCELがOFFICE2007でないと全部は展開できませんよ。(150行×365日×3年=164,250行) OFFICE2003までなら3年分1日当たり59行が限度です。もしくは1日150行なら436日(2008/3/10)で限界です。 以下はOFFICE2007用のマクロです Sub Macro() Dim DT As Date  DT = DateValue("2007/1/1")  Range("A1").Select  Application.ScreenUpdating = False  Do While DT < DateValue("2010/01/01")   Selection.Resize(150, 1).Value = DT   DT = DT + 1   Selection.Offset(150, 0).Select  Loop end0:  Application.ScreenUpdating = True End Sub 以下はOFFICE2003以前用のマクロです Sub Macro() Dim DT As Date  DT = DateValue("2007/1/1")  Range("A1").Select  Application.ScreenUpdating = False  Do While DT < DateValue("2008/03/11")   Selection.Resize(150, 1).Value = DT   DT = DT + 1   Selection.Offset(150, 0).Select  Loop end0:  Application.ScreenUpdating = True End Sub マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。

BPF
質問者

お礼

ありがとうございます。マクロで出来ました! 今、マクロの勉強をはじめたばかりで、マクロで出来ないかなとも思ったのですが、まだ私の頭では無理でした。。。 マクロも頑張って勉強していきます。 ありがとうございました。

その他の回答 (1)

  • keroro32
  • ベストアンサー率21% (48/225)
回答No.2

A1のセルに2007/1/1と入力します。 A1のセルを右クリックして「コピー」を選択します。 A2のセルからA150のセルをドラッグして(色が変わって太い縁取りが表示される)そのセル内で「貼り付け」を選択します。 A151のセルに2007/1/1と入力します。 A151のセルを右クリックして「コピー」を選択します。 A152のセルからA300のセルをドラッグして(色が変わって太い縁取りが表示される)そのセル内で「貼り付け」を選択します。 この後、 A1のセルからA300のセルまでドラッグします。 A300のセルの右下のカド付近にカーソルを近づけるとカーソルが+になります。 その状態でさらに下に必要な分までドラッグし続けます。 ためしに3行ぐらいでやってみて動作確認をしてみれば分かると思います。

BPF
質問者

お礼

ありがとうございます。 はじめにkeroro32さんの方法でやってみたのですが、2007/1/1と2007/1/2の繰り返しになってしまったので、出来ませんでした。。。 なのでほかの方法があるかと思ったのですが。。。

関連するQ&A