0

.csv ファイルの 2 つの列のデータに基づいてグラフを作成するスクリプトを作成する必要があります。

データセット:

Date, Memory Free
Thu Mar 28 12:19:03 ,19252852,
Thu Mar 28 12:19:08 ,19253444,
Thu Mar 28 12:19:13 ,19253492,
Thu Mar 28 12:19:18 ,19253676,
Thu Mar 28 12:19:23 ,19251164,
Thu Mar 28 12:19:28 ,19251568,
Thu Mar 28 12:19:33 ,19251496,
Thu Mar 28 12:19:38 ,19249448,
Thu Mar 28 12:19:43 ,19250472, 

Date, %Idle
Thu Mar 28 12:19:03 ,99.80,
Thu Mar 28 12:19:08 ,99.80,
Thu Mar 28 12:19:13 ,99.80,
Thu Mar 28 12:19:18 ,99.80,
Thu Mar 28 12:19:23 ,99.80,
Thu Mar 28 12:19:28 ,99.80,
Thu Mar 28 12:19:33 ,99.80,
Thu Mar 28 12:19:38 ,99.80,
Thu Mar 28 12:19:43 ,99.80,
Thu Mar 28 12:19:48 ,99.80,
Thu Mar 28 12:19:53 ,99.80,
Thu Mar 28 12:19:58 ,99.80,
Thu Mar 28 12:20:03 ,99.80,

これは私がこれまでに得たものです:

Sub Macro3()
'
' Macro3 Macro
'
' Keyboard Shortcut: Ctrl+p
'
Columns("A:A").Select
Selection.NumberFormat = "ddd mmm dd hh:mm:ss"
Range("A1:B66677").Select
Range("A2").Activate
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Range( _
    "'cwapp2_MemCPU-Date-pIdle'!$A$1:$B$66677")
End Sub

しかし、x 軸に日付が表示されていません。では、どうすればこれを修正できますか?また、VBA を使用して複数のファイルを処理できますか?

4

1 に答える 1

0

コードを少しクリーンアップし、日付の目盛りラベルを設定するために数行を下部に追加します。Dateこれは、基になるデータがExcel によって認識される有効な値であることを前提としています。

例で提示するデータは、Excel が日付として解釈しない文字列値です。実際にそのように CSV に保存されている場合はお知らせください。これを少し調整して修正できます。

Sub Macro3()
'
' Macro3 Macro
'
' Keyboard Shortcut: Ctrl+p
Dim cht as Chart
Dim tl As TickLabels

ActiveSheet.Columns("A:A").NumberFormat = "ddd mmm dd hh:mm:ss"


Set cht = ActiveSheet.Shapes.AddChart.Chart
cht.ChartType = xlXYScatterSmoothNoMarkers
cht.SetSourceData Source:=Range( _
"'cwapp2_MemCPU-Date-pIdle'!$A$1:$B$66677")

Set tl = cht.Axes(xlCategory).TickLabels

tl.NumberFormat = "ddd mmm dd hh:mm:ss"

End Sub

列 A の文字列データを変換するには、次のようなものを使用できます。

Sub ConvertTextToDate()

Dim cl As Range
Dim dt As Date

    For Each cl In Range("A1:A66677")
        dt = Right(cl.Value, Len(cl.Value) - 4)
        cl.Value = dt
        cl.NumberFormat = "ddd mmm dd hh:mm:ss"
    Next
End Sub
于 2013-04-08T16:23:04.720 に答える