|
こんにちは。かみちゃん です。
> VBAでやりたい理由はそのほうが速いかと思ったからです。
> 同じ手間が掛かるなら、この文で十分です。
> for-next文使えないでしょうか?
For〜Nextを使いたいのはなぜでしょうか?
使わなくてもできますが、使わなければなりませんか?
コードを組んで、毎日実行するのが手間かどうかわかりませんが、
一応以下のようなコードでできると思います。
Hirofumiさんご提案の方法とは、日付を数式で設定しているかどうかの差だけです。
Sub Sample()
Dim lngRow As Long
With Range("A1")
'現在の日付
.Value = Date
'2000/1/1からの日数を取得
lngRow = DateDiff("d", DateValue("2000/1/1"), Date)
'取得した日数分の数式を設定
.Offset(1).Resize(lngRow).Formula = "=" & .Address(0, 0) & "-1"
.Offset(, 1).Resize(lngRow + 1).Formula = "=" & .Address(0, 0)
'曜日の表示形式を設定
.Offset(, 1).Resize(lngRow + 1).NumberFormat = "aaa"
End With
MsgBox "終了しました"
End Sub
|
|