그래프의 레이블로 사용하려는 날짜 범위가 있습니다. 그러나 축 레이블로 선택하려고하면 아래 이미지에서 볼 수 있듯이 날짜로 해석되지 않습니다.
아무도 여기서 무슨 일이 일어나고 있는지 설명 할 수 있습니까? 플롯 된 축은 텍스트 축이므로 동일한 값을 가진 후속 셀에는 문제가되지 않습니다.
소스 데이터는 대략 다음과 같은 매크로로 데이터 시트에 저장됩니다.
Sub settInnIGraf(ws As Worksheet, R As Range)
Dim C As Range
Dim kortsone As Range, langsone As Range
Set kortsone = R.Offset(0, 4).Resize(R.Rows.Count, 8)
If IsEmpty(R) Then
R.Resize(1, 21).Formula = "=na()"
Else
For Each C In Union(kortsone, langsone)
If (Not IsNumeric(C)) Or Len(C) <= 0 Then
C.Formula = "=na()"
End If
Next C
End If
With ws.ChartObjects("Kortsone" & Right(ws.CodeName, 1)).Chart
Call settInnISerie(.SeriesCollection("Toppsuging"), R, kortsone.Columns(2))
Call settInnISerie(.SeriesCollection("Nedsuging"), R, kortsone.Columns(4))
Call settInnISerie(.SeriesCollection("Opptak"), R, kortsone.Columns(6))
Call settInnISerie(.SeriesCollection("Botnsuging"), R, kortsone.Columns(8))
.Axes(xlValue).MinimumScale = -30
.Axes(xlValue).MaximumScale = 10
.Axes(xlValue, xlSecondary).MinimumScale = .Axes(xlValue, xlPrimary).MinimumScale
.Axes(xlValue, xlSecondary).MaximumScale = .Axes(xlValue, xlPrimary).MaximumScale
End With
End Sub
Sub settInnISerie(srs As Series, xverdier As Range, yverdier As Range)
Dim C As Range
Dim i As Long
srs.XValues = xverdier
srs.Values = yverdier
i = 1
If srs.HasDataLabels Then
srs.DataLabels.Delete
End If
srs.ApplyDataLabels
For Each C In yverdier.Offset(0, -1).Cells
If Not IsError(C) And i <= srs.Points.Count Then
srs.Points(i).DataLabel.Text = "=" & Replace(C.Address(external:=True), "[" & ThisWorkbook.Name & "]", "", 1, -1, vbTextCompare)
End If
i = i + 1
Next C
End Sub
"따라서 같은 값을 가진 셀은 문제가되지 않아야합니다."-텍스트 인 경우에도 같은 값을 가진 축 레이블을 얻을 수 있다고 생각하지 않습니다.
—
Máté Juhász
셀에 26.09.2016으로 셀에 입력 했습니까?이 경우 Excel은 텍스트라고 생각하고 각 항목 (중복 포함)을 별도의 범주로 표시하거나 실제 날짜로 입력하고 dd.mm.yyyy로 형식화했습니다 ?
—
Jon Peltier
@JonPeltier 난 당신이 실제 날짜로를 추가하고 다음과 같은 DD.MM.YYYY 그 형식을 볼 수있는, 질문에 워크 시트의 데이터를두고 코드를 추가
—
eirikdaude
실제로, 나는 볼 수 없습니다 ... 당신은 당신의 질문에 코드를 업데이트 확신합니까?
—
Jon Peltier