0

Excel の列に連続した日付 (2012 年 1 月 1 日、2012 年 2 月 1 日、2012 年 3 月 1 日など) のリストがあります。Excel で現在の日付を確認し、その日付がまだ存在しない場合は、その日付を範囲の末尾に追加します。冗長なエントリがないように、これを 1 日に 1 回だけ実行したいと考えています。

例えば:

リストが 2013 年 2 月 6 日に終了し、2013 年 2 月 6 日にワークブックを開いた場合、何も起こりません。ただし、翌日の 2013 年 3 月 6 日に再度ブックを開くと、その日付がリストの一番下に自動的に追加されます。

また、その行の次の 2 つのセルにコピーする必要がある 2 つの数式もあります。の日付が生成された場合A20、数式は onB20およびになりC20ます。年/月/日のセル参照は、新しい日付エントリごとに (1 行のように) 1 ずつインクリメントする必要があります。

参考までに、最初の式は次のとおりです。

=SUMIF('Sheet1'!A:A,DATE(YEAR(A1),MONTH(A1),DAY(A1)),'Sheet1'!C:C)` 

もう 1 つの式は、この問題を解決するという点では冗長であるほど似ています。

前もって感謝します。

編集:

リストを確認して新しい日付を追加する方法を考え出しました

Sub CheckDateAndEnter()
    If Sheet10.Cells(Rows.Count, 1).End(xlUp).Value <> Date Then
        Sheet10.Cells(Rows.Count, 1).End(xlUp)(2, 1) = Date
        Sheet10.Cells(Rows.Count, 1).End(xlUp)(1, 2) = "=SUMIF('Sheet1'!A:A,DATE(YEAR(A304),MONTH(A304),DAY(A304)),'Sheet1'!C:C)"
    End If
End Sub

ただし、数式内のセル参照は、これが発生するたびに新しい列に対して1回インクリメントする必要があり、それを実装する方法がわかりません。

4

1 に答える 1