Chart
ある範囲のデータからを生成するマクロがあります。以下のデータを参照してください。
2015/08/01 12:49.002
2015/08/01 00:41.600
2015/08/02 00:27.198
2015/08/03 01:05.600
2015/08/03 01:30.599
2015/08/04 02:29.799
2015/08/05 01:40.199
2015/08/06 01:36.199
2015/08/07 02:16.998
2015/08/07 00:43.401
最初の列は日付を表し、2 番目の列はその日付からの時間枠です。
シートで見つかった元のデータは、結合されたセルであることに注意してください。詳細については、以下のスクリーン ショットを参照してください。
問題は、チャートがその日付に割り当てられたより大きな数のみを表示することです。
以下のコードを参照してください。
Option Explicit
Public Declare Function GetTickCount Lib "kernel32.dll" () As Long
Sub CreateChart()
Dim DateRange, TimeRange As Range
Dim lastRow As Long
Dim StartRow As Long, columnIndex As Long
Dim DataWorkSheet As Worksheet
Dim DataFileFullPath As String, DataFileName As String, SheetName As String
Dim Index As Long, Index2 As Long
Dim t As Long
Dim tt As Long
Dim Chart1 As Chart
' 'Disable Screen Updating
' Application.ScreenUpdating = False
' Application.Calculation = xlCalculationManual
StartRow = 20
columnIndex = 3
'Put Full File Path for your demo/test file here
DataFileFullPath = "C:\Users\................."
Index = InStrRev(DataFileFullPath, "\")
DataFileName = Right(DataFileFullPath, Len(DataFileFullPath) - Index)
Index2 = InStrRev(DataFileName, ".")
SheetName = Left(DataFileName, Index2 - 1)
Set DataWorkSheet = Workbooks(DataFileName).Sheets(SheetName)
t = GetTickCount
With DataWorkSheet
With .UsedRange
'Getting the last Row
lastRow = .Rows(.Rows.Count).row - 1
End With
'The DataStartRow is set to the ORiginal Time from the T3000
Set DateRange = .Range(.Cells(StartRow, columnIndex + 1), .Cells(lastRow, columnIndex + 1))
Set TimeRange = .Range(.Cells(StartRow, columnIndex + 2), .Cells(lastRow, columnIndex + 2))
End With
Set Chart1 = Charts.Add
With Chart1
.ChartType = xlColumnClustered
.SeriesCollection.NewSeries
With .SeriesCollection(1)
.Values = TimeRange
.Name = SheetName & " " & "Synch Time"
.XValues = DateRange
End With
.Name = SheetName & " " & "Synch Time Chart"
.Axes(xlValue).MaximumScale = 0.0104166667 ' 15 mins / 50 / 24
.Axes(xlValue).MajorUnit = 0.0006944444 ' 1 mins /60 / 24
.Move After:=Sheets(2)
End With
tt = GetTickCount - t
' 'Enable Screen Updating
' Application.ScreenUpdating = True
' Application.Calculation = xlCalculationAutomatic
End Sub
Chart1
特定の日付から 2 番目のデータ値を省略しないために含める必要がある要素はありますか?