プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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を押してマクロ一覧からマクロ名を選択して実行します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/29 22:20

A1のセルに2007/1/1と入力します。


A1のセルを右クリックして「コピー」を選択します。
A2のセルからA150のセルをドラッグして(色が変わって太い縁取りが表示される)そのセル内で「貼り付け」を選択します。
A151のセルに2007/1/1と入力します。
A151のセルを右クリックして「コピー」を選択します。
A152のセルからA300のセルをドラッグして(色が変わって太い縁取りが表示される)そのセル内で「貼り付け」を選択します。

この後、
A1のセルからA300のセルまでドラッグします。
A300のセルの右下のカド付近にカーソルを近づけるとカーソルが+になります。
その状態でさらに下に必要な分までドラッグし続けます。

ためしに3行ぐらいでやってみて動作確認をしてみれば分かると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/29 22:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!