我有一個關於excel曲線的圖表。曲線表示股票的價格取決於時間(所以基本上我有一列A充滿日期,B列充滿價格和圖表)。在同一個數據標籤VBA中的兩種不同顏色
現在對於圖表中的每個點有一個datalabel文本作爲隨後
Charts("CHART").SeriesCollection(1).Points(Numpoint).DataLabel.Text = numcomptagesetup & vbCrLf & numcomptagecountdown
「numpoint」是從點1進行到最後一個的變量。 「numcomptagesetup」和「numcomptagecountdown」是值即變爲從1至6「numcomptagesetup」和從1到15,用於「numcomptagecountdown」。
上面的代碼編寫「numcomptagesetup」,然後跳兩行,然後寫「numcomptagecountdown」
我需要的是,根據2個信號,改變「numcomptagesetup」的顏色爲綠色或紅色,顏色綠色和紅色的「numcomptagecountdown」也是如此。所以在某些情況下,我需要在同一個datalabeltext中有兩種不同的顏色。
我寫這個循環和它的作品至少在開始時(如步驟方法步驟),那麼一切變化和顏色是不是在好的地方(紅色,而不是綠色或相反)...真的奇怪 默認情況下,所有的點是綠色的,然後我點顏色變爲紅色時,我想:
For numpoint=1 to 100
With Charts("CHART").SeriesCollection(1).Points(Numpoint)
.HasDataLabel = True
.DataLabel.Text = numcomptagesetup & vbCrLf & numcomptagecountdown
.DataLabel.Font.Size = 6
.DataLabel.Font.Color = vbRed
.MarkerSize = 5
End With
If Signal = 2 Then Charts("CHART").SeriesCollection(1).DataLabels.Select
With Charts("CHART").SeriesCollection(1).Points(Numpoint).DataLabel.Format.TextFrame2.TextRange.Characters(1, 3).Font.Fill
.Visible = msoTrue
.ForeColor
.RGB = RGB(0, 176, 80) .Solid
End With
End If
If Signal2 = 2 Then
Charts("CHART").SeriesCollection(1).DataLabels.Select
With Charts("CHART").SeriesCollection(1).Points(Numpoint).DataLabel.Format.TextFrame2.TextRange.Characters(4, 1).Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 176, 80)
.Solid
End With
End If
我希望你明白我的問題!如果沒有,你可以問,我會回答儘快我可以
謝謝!!
對於初學者來說,這不是一個循環(或者你需要提供更多的代碼的):)另外,請注意'ForeColor.RGB'你在這兩種情況對指定'信號2 = 2'和' Signal = 2'是一樣的。 –
我已經編輯過代碼:with/end with是通過defaut(對於上邊和下邊的部分)獲取可見的文本,然後兩個條件將文本標籤的上邊部分或下邊部分或兩者 – user2460449
當我嘗試運行模擬代碼時,發生在我身上的是所有數據點都得到相同的格式,即使我明確地循環遍歷系列中的每個數據標籤......我會多看一看,看看我能找出。 –