- ベストアンサー
エクセルで連続した日付の入力方法
エクセルで日付の入力についてお聞きしたいのですが、 例えば、A1からA150までを2007/1/1、A151からA300までを2007/1/2、A301からA450までを2007/1/3・・・というように、1日当たり150個のセルを3年分、コピーしていきたいのですが、よい方法はありますか? データがたくさんあるので、1日ずつコピーをすると時間がかかってしまいます。。。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず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を押してマクロ一覧からマクロ名を選択して実行します。
その他の回答 (1)
- keroro32
- ベストアンサー率21% (48/225)
A1のセルに2007/1/1と入力します。 A1のセルを右クリックして「コピー」を選択します。 A2のセルからA150のセルをドラッグして(色が変わって太い縁取りが表示される)そのセル内で「貼り付け」を選択します。 A151のセルに2007/1/1と入力します。 A151のセルを右クリックして「コピー」を選択します。 A152のセルからA300のセルをドラッグして(色が変わって太い縁取りが表示される)そのセル内で「貼り付け」を選択します。 この後、 A1のセルからA300のセルまでドラッグします。 A300のセルの右下のカド付近にカーソルを近づけるとカーソルが+になります。 その状態でさらに下に必要な分までドラッグし続けます。 ためしに3行ぐらいでやってみて動作確認をしてみれば分かると思います。
お礼
ありがとうございます。 はじめにkeroro32さんの方法でやってみたのですが、2007/1/1と2007/1/2の繰り返しになってしまったので、出来ませんでした。。。 なのでほかの方法があるかと思ったのですが。。。
お礼
ありがとうございます。マクロで出来ました! 今、マクロの勉強をはじめたばかりで、マクロで出来ないかなとも思ったのですが、まだ私の頭では無理でした。。。 マクロも頑張って勉強していきます。 ありがとうございました。