微信號:excelperfect
引子:這是http://peltiertech.com/WordPress/中介紹的一個技巧,使用了公式或者VBA實現Excel圖表中高亮顯示特殊的數據標籤。
經常有人問:是否可以修改Excel圖表中數據標籤的字體顏色,高亮顯示數據最大值。下面介紹了兩種方法,使用VBA實現或使用工作表公式實現。
使用VBA來實現高亮顯示圖表中特殊的數據標籤
下圖所示為數據及經過格式後的圖表。
下面是一段實現高亮顯示數據最大值目的的VBA代碼:
Sub HighlightMaxDataLabel()
Dim srs As Series
Dim vY As Variant
Dim iPt As Long, nPts As Long
Dim dMax As Double
Dim iHighlightColor As Long
'如果用戶沒有選取圖表則不做任何事情
If Not ActiveChart Is Nothing Then
Set srs = ActiveChart.SeriesCollection(1)
'設置高亮顯示的顏色
iHighlightColor = RGB(255, 255, 0)
'將所有標籤設置為原始字體顏色
With srs.DataLabels.Font
.Color = .Color
End With
vY = srs.Values
nPts = srs.Points.Count
'找到最大值
dMax = vY(1)
For iPt = 2 To nPts
If dMax < vY(iPt) Then
dMax = vY(iPt)
End If
Next
For iPt = 1 To nPts
'高亮顯示帶有最大值的所有標籤
If vY(iPt) = dMax Then
srs.Points(iPt).DataLabel.Font.Color = iHighlightColor
End If
Next
End If
End Sub
選取工作表中的圖表,運行上面的代碼,效果如下圖1所示。
修改列B中的數據後,再次運行代碼,效果如圖2所示。
再次修改列B中的數據,使數據有兩個最大值,運行代碼後,效果如圖3所示。
要避免每次修改數據後都要重新運行代碼,你可以將上述代碼段放置在Worksheet_Change事件中或者在該事件中調用該段代碼。此時,每次修改數據後,圖表會自動變化。
後記:以後,我們將不定期地學習一下Excel大師們分享的經驗和技巧,有助於我們更快地提高。