3

ここに画像の説明を入力


こんにちは、私はvbaが初めてで、助けてください。私は示されているようなテーブルを持っています。Days 列は数式列です。式は単純で、Actual DateDateの差です。しかし、実際の日付は Range("D5") の別のシート (Sheet2) に存在します。この数式をプログラムで割り当てる方法。私は試してみましたがWorksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=" & Worksheets("Sheet2").Range("D5").Value & "-Sheet1!RC[-1]"Worksheets("Sheet1").Range("I6:I10").FormulaR1C1 = "=Sheet2!R[5]C[4]Sheet1!RC[-1]"残念ながら両方とも間違った値を与えています。ありがとう。

4

2 に答える 2

1

DATEDIF関数を使用して、2 つの日付の差を計算できます。

=DATEDIF(Sheet2!D5,Sheet1!E2,"D")

これは最初のセルで機能するはずなので、列のこの数式をコピーして変更する必要があります。

アップデート:

VBA を使用すると、上記のデータセットで動作する以下を使用できます。

Worksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=DATEDIF(""" & Worksheets("Sheet2").Range("D5") & """,Sheet1!RC[-1],""D"")"
于 2013-02-26T10:14:33.117 に答える
1

数式が別のシートからのものである場合でも、現在のシートのデータを参照できます。

式で R1C1 を使用する:

Range("E2").FormulaR1C1 = "=Today() - R[0]C[-1]"

数値だけをスプレッドシートに追加:

Range("E2").Value = DateDiff("d", Range("D2"), Now())

アップデート:

複数の値の場合:

Worksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=Today() - R[0]C[-1]"
于 2013-02-26T10:18:41.247 に答える