『マクロを使って』(とし) マクロを使ってコピーと言うのでしょうか? J3のセルに今日の日付を入れてコピーのようにすると下に下にと次々に日付が入力されますが この動作をマクロで実行したいのですが教えてください。 内容はJ3のセルに今日日付を入力した時点で365日分の日付をJ3J4J5と下のセルに 次々日付を自動で入力するマクロを組みたいのですが もし出来るのでしたら教えてください。宜しくお願いします。 ---- 2点確認が。 下方向へコピーすると例えば 1/1 1/2 1/3 のようになればいいんですよね? この動作はそのシートのみではなく、任意のシートまたは任意のブックにのみ行わせたいのでしょうか? おそらくマクロにしたいくらいなのですから、任意のブックとのことだと思いますが。 としたら一つの解として、誰にでもできる以下の方法をおすすめいたします。 (以下2003のやり方) 新しいブックを開く [ツール]→[マクロ]→[新しいマクロの記録] を起動して マクロ名 日付入力 保存先 個人用ブック としてOK J3を「クリック」 Ctrl+; を押す エンター J4に =J3+1 と入力 J5に =J4+1 と入力 J4〜J5を範囲選択 選択したときに見える太枠右下の ■ をドラッグしながら 365日分下方向へフィルダウンさせる [ツール]→[マクロ]→[記録終了]を押す Alt+F11 を押す ←のVBAProject(PERSONAL.XLS)を選択 標準モジュールフォルダを開く Module1を開く Range("J3").Select ActiveCell.FormulaR1C1 = "3/22/2009" というような表記があると思うので、 ActiveCell.FormulaR1C1 = "3/22/2009" 'を ActiveCell.FormulaR1C1 = Date 'に直す 次に日付を入力したいブック及びシートを開く Alt+F8 を押す PERSONAL.XLS!日付入力 を選択して実行する。 これでできると思いますー (とりすがり) ---- 別の考え方として、最初を今日の日付から、翌年の今日の月日になる前までループすれば良さそうに思います。 (365日というのを1年分と解釈しています) そして、セルに値を入れることと表示形式を設定すれば良さそうに思いました。 (Hatch) Sub test() Dim c As Long Dim s As Date s = Date '今日の日付 Range("J3:J369").ClearContents c = 0 Do While s + c < DateAdd("yyyy", 1, s) '1年後の日付未満までループ Cells(3 + c, "J").Value = s + c '日付に1日づつ足していった値 Cells(3 + c, "J").NumberFormatLocal = "m""月""d""日"";@" '表示形式 c = c + 1 '日付を1日づつ足していく Loop End Sub ---- ↓最近見えられているとしさんと同じ方なら http://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E3%80%8F%EF%BC%88%E3%81%A8%E3%81%97%EF%BC%89+&perpage=10&attr=@uri+STRINC+kazuwiki&order=@uri+STRD&clip=-1&navi=0 どういうことになったのか(解決したのか、していないのか) 事の顛末を書いておいて頂ければと思います。 「マクロを使って」というのは、どういった意図でしょうか。 毎回新しいブックにそのようなことをしたい のでしょうか。 それとも、使用するブックは決まっているのでしょうか。 たとえば、=A1+1 の式を365日分フィルドラッグしておけば A1セルの日付が変わったら、連動して以降の日付も変わりますが。 使用するブック・シートが決まっているのなら 数式を埋め込んでおいても良いのかな と思いました。 (HANA) ---- パソコンの調子が悪く返事遅くなりました。みなさん回答有難うございました。 数式を埋め込んで対応しました。(とし)