0
システムフォーマットに関係なく日付を保存するために、異なるシステム上の多くのユーザーがExcelを使用するため、stringを作成しました。以下のコードです:散布図vbaの日付と数値のプロット
Range("Z:Z").NumberFormat = "@"
Range("AC:AC").NumberFormat = "@"
Range("AF:AF").NumberFormat = "@"
dateArr = Array("4/1/2016", "4/15/2016", "5/1/2016", "5/15/2016", "6/1/2016", "6/15/2016", "7/1/2016", "7/15/2016", "8/1/2016", "8/15/2016", "9/1/2016", "9/15/2016", "10/1/2016", "10/15/2016", "11/1/2016", "11/15/2016", "12/1/2016", "12/15/2016")
For i = 2 To UBound(dateArr)
ActiveSheet.Cells(i, 26).Value = Format(dateArr(i - 2), "yyyy/mm/dd")
Next
は、しかし、私はそれのために散布図をプロットする必要があるので、以下に示すように私は再び日付形式に変更:
Columns("Z:Z").Select
Selection.NumberFormat = "yyyy/mm/dd"
を、私は散布図をプロットした場合それはそれを適切にプロットしていない。
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Source:=Range("Plot!$Z$2:$AA$" & date_no_row)
ActiveChart.Axes (xlCategory)
With ActiveChart.Axes(xlCategory)
.MinimumScale = 42401
.TickLabels.Orientation = 30
.TickLabels.NumberFormat = "yyyy/mm/dd"
.BaseUnitIsAuto = True
.MajorUnit = 14
.MinorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
End With
ActiveChart.Parent.Name = "Plot"
With ActiveChart.Parent
.Height = 325 ' resize
.Width = 900 ' resize
.Top = Range("C3").Top
.Left = Range("B2").Left
End With
ActiveSheet.ChartObjects("Plot").Chart.HasLegend = False
With ActiveSheet.ChartObjects("Plot").Chart
.HasTitle = True
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Dates"
.Axes(xlCategory, xlPrimary).AxisTitle.Font.Size = 15
End With
ActiveSheet.ChartObjects("Plot").Activate
ActiveChart.Axes(xlCategory).HasMajorGridlines = True
カラムAAには数値が含まれています。
と予想プロット下の写真のように、私は取得mのプロットは、あなたがテキストに列Zを設定
を始めます。 Excelの日付は数字になります。したがって**はすでにシステムフォーマットに関係なく**です。デフォルトの日付形式だけがシステムに依存します。しかし、これはオペレーティングシステムに依存しているため、Excelが実行されており、Excelファイルでは実行されていないため、影響を受けることはできません。 –