1

3 つのデータ セットがあり、それぞれに 2 つの列があります。最初の列は日付で、2 番目の列は価格です。日付は、データセットごとに異なる形式になっています。ゴールドの日付(1951)、マネーサプライM2の日付(1951-01)、およびマネーサプライM2の日付(1951-01)。M3 日付 (1951 年 9 月 1 日)

必要なもの:

これらを x 軸に日付、y 軸に価格でグラフ化したい

質問:

  • ゴールドの日付(YYYY)とマネーサプライM2の日付(YYYY-MM)を日付オブジェクトにする必要がありますか?
  • もしそうならどのように?
  • すべての日付を 1 つの列に配置し、適切な日付で価格を並べ替えるためにサブを作成する必要がありますか?

これは理にかなっていますか?

4

1 に答える 1

0

私はVBAでのプログラミングの経験がほとんどなく、日付の使用に関する情報を見つけるのに苦労していました。これを編集した人(brettdj)からの回答に出くわしました。これには、Excel用のVBAプログラミングに関する非常に役立つサイトがいくつかリストされています。それらの1つは、DateSerial()関数に関する情報を持っていました。その後、問題をすばやく修正するためにいくつかのコードをまとめることができました。

サブCreateDates()

Dim dt As Date
Dim s As String

For Each c In Worksheets("Sheet1").Range("A7:A27080").Cells
    s = Len(c.Value)

    If s = 4 Then '(YYYY)
        dt = DateSerial(s, 7, 1)
        c.Value = dt
    End If

    If s = 7 Then '(YYYY-MM)
        y = Left(s, 4)
        m = Right(s, 2)
        dt = DateSerial(y, m, 1)
        c.Value = dt
    End If

Next c

サブ終了

おそらく時間をかけて正規表現を追加し、ワンサイズで最もフィットするようにすることもできますが、これは頻繁に使用する必要があるため、機能します。

于 2012-09-27T21:00:01.400 に答える