我試圖在Excel 2010中使用堆積條形圖創建路線圖/時間表。我已經在下面提供了一個鏈接,可以用圖表解釋我的意圖。我希望在圖表中呈現不同的事件,並且應該根據它們的持續時間來繪製它們。事件越長,其各自酒吧的時間越長。爲表格中的值分配Excel堆積條形圖的點數
我已經設法建立一個宏,創建一個我喜歡的圖表。但是,我希望爲其添加另一個功能。從下面的圖片可以看出,原始表格中有一個名爲'Type'的列。它代表事件的狀態,無論是完成,取消還是正在計劃。我的目標是通過將條形圖着色爲紅色(如果取消),綠色(如果已完成)或藍色(如果已計劃),根據特定事件在其Type行中的值是什麼值來表示此數據。
下面是按鈕「創建新事件視圖」使用的宏背後的代碼。我想知道如何實現着色,最好是在這個非常相同的宏中,以便用戶只需要點擊按鈕。
Sub CreateEventTable()
Dim timespan_start As Date
Dim timespan_end As Date
timespan_start = Application.InputBox("Type start date:")
timespan_end = Application.InputBox("Type end date:")
ActiveSheet.Shapes.AddChart(xlBarStacked, Range("E2").Left, Range("E2").Top).Select
With ActiveChart
.SetSourceData Source:=Range("$A$1:$B$12, $D$1:$D$12"), PlotBy:=xlColumns
.SeriesCollection(1).Values = Range("B2:B12")
.SeriesCollection(1).XValues = Range("A2:A12")
.SetElement msoElementLegendNone
.ChartGroups(1).GapWidth = 31
.SeriesCollection(2).ApplyDataLabels
.SeriesCollection(2).DataLabels.ShowCategoryName = True
.SeriesCollection(2).DataLabels.ShowValue = False
.SeriesCollection(1).Format.Fill.Visible = msoFalse
.Axes(xlValue).MinimumScale = timespan_start
.Axes(xlValue).MaximumScale = timespan_end
End With
End Sub
這裏是鏈接到的圖像,其希望解釋的整體結構:
http://i.imgur.com/XzPoMiY.jpg
我感謝您的寶貴幫助!如果認爲有必要,我很樂意提供更多細節。
你可以有一個非常優雅的解決方案來看看[珀耳帖技術博客(http://peltiertech.com/WordPress/conditional-formatting-of-excel-charts/)。 –