データラベルを表示するには、2つの方法があります。
まず、系列(Seriesオブジェクト)のHasDataLabelsプロパティを使うやり方から。
Sub Sample()
Dim i As Long
With ActiveSheet.ChartObjects(1).Chart
For i = 1 To .SeriesCollection.Count
.SeriesCollection(i).HasDataLabels = True
Next i
End With
End Sub

HasDataLabelsプロパティは、系列全体を表すSeriesCollectionコレクションのプロパティではなく、単体の系列を表すSeriesオブジェクトのプロパティです。したがって、上記のようにすべての系列に対して設定してやります。
HasDataLabelsプロパティにTrueを設定するとデータラベルが表示されます。データラベルに表示する内容には「系列名」「分類名」「値」の3種類があり、また、表示する位置には「中央」「内側上」「内側軸寄り」「外側上」を指定できます。
表示するデータラベルの種類を指定するには、次のプロパティにTrueまたはFalseを指定します。
| プロパティ名 | 意味 |
|---|---|
| ShowSeriesName | Trueを設定すると 系列名 を表示します |
| ShowCategoryName | Trueを設定すると 分類名 を表示します |
| ShowValue | Trueを設定すると 値 を表示します |
Sub Sample()
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(3)
.HasDataLabels = True
.DataLabels.ShowSeriesName = True
.DataLabels.ShowCategoryName = True
.DataLabels.ShowValue = True
End With
End Sub

データラベルに複数の内容を表示するとき、それぞれの内容を区切る記号を指定できます。区切り記号は、DataLabelsコレクションのSeparatorプロパティに文字列形式で指定します。次のコードは、データラベルをスペースで区切ります。
Sub Sample()
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(3)
.HasDataLabels = True
.DataLabels.ShowSeriesName = True
.DataLabels.ShowCategoryName = True
.DataLabels.ShowValue = True
.DataLabels.Separator = " "
End With
End Sub

区切り文字には複数の文字列や、日本語を指定することも可能です。
Sub Sample()
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(3)
.HasDataLabels = True
.DataLabels.ShowSeriesName = True
.DataLabels.ShowCategoryName = False
.DataLabels.ShowValue = True
.DataLabels.Separator = "は"
End With
End Sub

棒グラフでは、データラベルの位置に、次の4種類を指定できます。

データラベルの位置は、Positionプロパティに、次の定数を指定します。
| 定数 | 値 | 意味 |
|---|---|---|
| xlLabelPositionCenter | -4108 | 中央 |
| xlLabelPositionInsideBase | 4 | 内側上 |
| xlLabelPositionInsideEnd | 3 | 内側軸寄り |
| xlLabelPositionOutsideEnd | 2 | 外側上 |
Sub Sample()
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(3)
.HasDataLabels = True
.DataLabels.ShowValue = True
.DataLabels.Position = xlLabelPositionCenter
End With
End Sub

Excel 2007で追加されたSetElementメソッドを使って、データラベルを表示することもできます。
Sub Sample()
With ActiveSheet.ChartObjects(1).Chart
.SetElement msoElementDataLabelOutSideEnd
End With
End Sub

SetElementメソッドは、引数に指定する定数によって、さまざまな設定が行えます。SetElementメソッドで設定できるのは、グラフツール[レイアウト]タブの[ラベル]グループ、[軸]グループ、[分析]グループから実行できるすべてのコマンドに対応しています。

SetElementメソッドの引数には、次の定数を指定できます。
| 定数 | 値 | 意味 |
|---|---|---|
| msoElementChartFloorNone | 1200 | グラフの床面を表示しません |
| msoElementChartFloorShow | 1201 | グラフの床面を表示します |
| msoElementChartTitleAboveChart | 2 | グラフの上にタイトルを表示します |
| msoElementChartTitleCenteredOverlay | 1 | タイトルを中央揃えで重ねて表示します |
| msoElementChartTitleNone | 0 | グラフタイトルを表示しません |
| msoElementChartWallNone | 1100 | グラフの壁面を表示しません |
| msoElementChartWallShow | 1101 | グラフの壁面を表示します |
| msoElementDataLabelBestFit | 210 | データラベルを自動調整します |
| msoElementDataLabelBottom | 209 | データラベルを下に表示します |
| msoElementDataLabelCenter | 202 | データラベルを中央に表示します |
| msoElementDataLabelInsideBase | 204 | データラベルを内側の底部に表示します |
| msoElementDataLabelInsideEnd | 203 | データラベルを内側の末尾に表示します |
| msoElementDataLabelLeft | 206 | データラベルを左側に表示します |
| msoElementDataLabelNone | 200 | データラベルを表示しません |
| msoElementDataLabelOutSideEnd | 205 | データラベルを外側の末尾に表示します |
| msoElementDataLabelRight | 207 | データラベルを右側に表示します |
| msoElementDataLabelShow | 201 | データラベルを表示します |
| msoElementDataLabelTop | 208 | データラベルを上に表示します |
| msoElementDataTableNone | 500 | データテーブルを表示しません |
| msoElementDataTableShow | 501 | データテーブルを表示します |
| msoElementDataTableWithLegendKeys | 502 | 凡例マーカー付きでデータテーブルを表示します |
| msoElementErrorBarNone | 700 | 誤差範囲を表示しません |
| msoElementErrorBarPercentage | 702 | 誤差範囲をパーセンテージで表示します |
| msoElementErrorBarStandardDeviation | 703 | 誤差範囲を標準偏差で表示します |
| msoElementErrorBarStandardError | 701 | 標準の誤差範囲を表示します |
| msoElementLegendBottom | 104 | 凡例を下に表示します |
| msoElementLegendLeft | 103 | 凡例を左に表示します |
| msoElementLegendLeftOverlay | 106 | 凡例を左に重ねて配置します |
| msoElementLegendNone | 100 | 凡例を表示しません |
| msoElementLegendRight | 101 | 凡例を右に表示します |
| msoElementLegendRightOverlay | 105 | 凡例を右に重ねて配置します |
| msoElementLegendTop | 102 | 凡例を上に表示します |
| msoElementLineDropHiLoLine | 804 | 降下線/高低線を表示します |
| msoElementLineDropLine | 801 | 降下線を表示します |
| msoElementLineHiLoLine | 802 | 高低線を表示します |
| msoElementLineNone | 800 | 線を表示しません |
| msoElementLineSeriesLine | 803 | 区分線を表示します |
| msoElementPlotAreaNone | 1000 | プロットエリアを表示しません |
| msoElementPlotAreaShow | 1001 | プロットエリアを表示します |
| msoElementPrimaryCategoryAxisBillions | 374 | 主項目軸の単位に十億を使用します |
| msoElementPrimaryCategoryAxisLogScale | 375 | 主項目軸に対数目盛を使用します |
| msoElementPrimaryCategoryAxisMillions | 373 | 主項目軸の単位に百万を使用します |
| msoElementPrimaryCategoryAxisNone | 348 | 主項目軸を表示しません |
| msoElementPrimaryCategoryAxisReverse | 351 | 主項目軸を逆順で表示します |
| msoElementPrimaryCategoryAxisShow | 349 | 主項目軸を表示します |
| msoElementPrimaryCategoryAxisThousands | 372 | 主項目軸の単位に千を使用します |
| msoElementPrimaryCategoryAxisTitleAdjacentToAxis | 301 | 主項目軸の横に軸ラベルを表示します |
| msoElementPrimaryCategoryAxisTitleBelowAxis | 302 | 主項目軸の下に軸ラベルを表示します |
| msoElementPrimaryCategoryAxisTitleHorizontal | 305 | 主項目軸の軸ラベルを水平に表示します |
| msoElementPrimaryCategoryAxisTitleNone | 300 | 主項目軸の軸ラベルを表示しません |
| msoElementPrimaryCategoryAxisTitleRotated | 303 | 主項目軸の軸ラベルを回転します |
| msoElementPrimaryCategoryAxisTitleVertical | 304 | 主項目軸の軸ラベルを垂直に表示します |
| msoElementPrimaryCategoryAxisWithoutLabels | 350 | 主項目軸を軸ラベルなしで表示します |
| msoElementPrimaryCategoryGridLinesMajor | 334 | 主項目軸に沿って目盛線を表示します |
| msoElementPrimaryCategoryGridLinesMinor | 333 | 主項目軸に沿って補助目盛線を表示します |
| msoElementPrimaryCategoryGridLinesMinorMajor | 335 | 主項目軸に沿って目盛線と補助目盛線の両方を表示します |
| msoElementPrimaryCategoryGridLinesNone | 332 | 主項目軸に沿って目盛線を表示しません |
| msoElementPrimaryValueAxisBillions | 356 | 主数値軸の単位に十億を使用します |
| msoElementPrimaryValueAxisLogScale | 357 | 主数値軸に対数目盛を使用します |
| msoElementPrimaryValueAxisMillions | 355 | 主数値軸の単位に百万を使用します |
| msoElementPrimaryValueAxisNone | 352 | 主数値軸を表示しません |
| msoElementPrimaryValueAxisShow | 353 | 主数値軸を表示します |
| msoElementPrimaryValueAxisThousands | 354 | 主数値軸の単位に千を使用します |
| msoElementPrimaryValueAxisTitleAdjacentToAxis | 306 | 主数値軸の横に軸ラベルを配置します |
| msoElementPrimaryValueAxisTitleBelowAxis | 308 | 主数値軸の下に軸ラベルを配置します |
| msoElementPrimaryValueAxisTitleHorizontal | 311 | 主数値軸の軸ラベルを水平に表示します |
| msoElementPrimaryValueAxisTitleNone | 306 | 主数値軸の軸ラベルを表示しません |
| msoElementPrimaryValueAxisTitleRotated | 309 | 主数値軸の軸ラベルを回転します |
| msoElementPrimaryValueAxisTitleVertical | 310 | 主数値軸の軸ラベルを垂直に表示します |
| msoElementPrimaryValueGridLinesMajor | 330 | 主数値軸に沿って目盛線を表示します |
| msoElementPrimaryValueGridLinesMinor | 329 | 主数値軸に沿って補助目盛線を表示します |
| msoElementPrimaryValueGridLinesMinorMajor | 331 | 主数値軸に沿って目盛線と補助目盛線の両方を表示します |
| msoElementPrimaryValueGridLinesNone | 328 | 主数値軸に沿って目盛線を表示しません |
| msoElementSecondaryCategoryAxisBillions | 378 | 第2項目軸の単位に十億を使用します |
| msoElementSecondaryCategoryAxisLogScale | 379 | 第2項目軸に対数目盛を使用します |
| msoElementSecondaryCategoryAxisMillions | 377 | 第2項目軸の単位に百万を使用します |
| msoElementSecondaryCategoryAxisNone | 358 | 第2項目軸を表示しません |
| msoElementSecondaryCategoryAxisReverse | 361 | 第2項目軸を逆順で表示します |
| msoElementSecondaryCategoryAxisShow | 359 | 第2項目軸を表示します |
| msoElementSecondaryCategoryAxisThousands | 376 | 第2項目軸の単位に千を使用します |
| msoElementSecondaryCategoryAxisTitleAdjacentToAxis | 313 | 第2項目軸の横に軸ラベルを表示します |
| msoElementSecondaryCategoryAxisTitleBelowAxis | 314 | 第2項目軸の下に軸ラベルを表示します |
| msoElementSecondaryCategoryAxisTitleHorizontal | 317 | 第2項目軸の軸ラベルを水平に表示します |
| msoElementSecondaryCategoryAxisTitleNone | 312 | 第2項目軸の軸ラベルを表示しません |
| msoElementSecondaryCategoryAxisTitleRotated | 315 | 第2項目軸の軸ラベルを回転します |
| msoElementSecondaryCategoryAxisTitleVertical | 316 | 第2項目軸の軸ラベルを垂直に表示します |
| msoElementSecondaryCategoryAxisWithoutLabels | 360 | 第2項目軸を軸ラベルなしで表示します |
| msoElementSecondaryCategoryGridLinesMajor | 342 | 第2項目軸に沿って目盛線を表示します |
| msoElementSecondaryCategoryGridLinesMinor | 341 | 第2項目軸に沿って補助目盛線を表示します |
| msoElementSecondaryCategoryGridLinesMinorMajor | 343 | 第2項目軸に沿って目盛線と補助目盛線の両方を表示します |
| msoElementSecondaryCategoryGridLinesNone | 340 | 第2項目軸に沿って目盛線を表示しません |
| msoElementSecondaryValueAxisBillions | 366 | 第2数値軸の単位に十億を使用します |
| msoElementSecondaryValueAxisLogScale | 367 | 第2数値軸に対数目盛を使用します |
| msoElementSecondaryValueAxisMillions | 365 | 第2数値軸の単位に百万を使用します |
| msoElementSecondaryValueAxisNone | 362 | 第2数値軸を表示しません |
| msoElementSecondaryValueAxisShow | 363 | 第2数値軸を表示します |
| msoElementSecondaryValueAxisThousands | 364 | 第2数値軸の単位に千を使用します |
| msoElementSecondaryValueAxisTitleAdjacentToAxis | 319 | 第2数値軸の横に軸ラベルを表示します |
| msoElementSecondaryValueAxisTitleBelowAxis | 320 | 第2数値軸の下に軸ラベルを表示します |
| msoElementSecondaryValueAxisTitleHorizontal | 323 | 第2数値軸の軸ラベルを水平に表示します |
| msoElementSecondaryValueAxisTitleNone | 318 | 第2数値軸の軸ラベルを表示しません |
| msoElementSecondaryValueAxisTitleRotated | 321 | 第2数値軸の軸ラベルを回転します |
| msoElementSecondaryValueAxisTitleVertical | 322 | 第2数値軸の軸ラベルを垂直に表示します |
| msoElementSecondaryValueGridLinesMajor | 338 | 第2数値軸に沿って目盛線を表示します |
| msoElementSecondaryValueGridLinesMinor | 337 | 第2数値軸に沿って補助目盛線を表示します |
| msoElementSecondaryValueGridLinesMinorMajor | 339 | 第2数値軸に沿って目盛線と補助目盛線の両方を表示します |
| msoElementSecondaryValueGridLinesNone | 336 | 第2数値軸に沿って目盛線を表示しません |
| msoElementSeriesAxisGridLinesMajor | 346 | 系列軸に沿って目盛線を表示します |
| msoElementSeriesAxisGridLinesMinor | 345 | 系列軸に沿って補助目盛線を表示します |
| msoElementSeriesAxisGridLinesMinorMajor | 347 | 系列軸に沿って目盛線と補助目盛線の両方を表示します |
| msoElementSeriesAxisGridLinesNone | 344 | 系列軸に沿って目盛線を表示しません |
| msoElementSeriesAxisNone | 368 | 系列軸を表示しません |
| msoElementSeriesAxisReverse | 371 | 系列軸を逆順に表示します |
| msoElementSeriesAxisShow | 369 | 系列軸を表示します |
| msoElementSeriesAxisTitleHorizontal | 327 | 系列軸の軸ラベルを水平に表示します |
| msoElementSeriesAxisTitleNone | 324 | 系列軸の軸ラベルを表示しません |
| msoElementSeriesAxisTitleRotated | 325 | 系列軸の軸ラベルを回転します |
| msoElementSeriesAxisTitleVertical | 326 | 系列軸の軸ラベルを垂直に表示します |
| msoElementSeriesAxisWithoutLabeling | 370 | ラベルなしで系列軸を表示します |
| msoElementTrendlineAddExponential | 602 | 指数近似曲線を追加します |
| msoElementTrendlineAddLinear | 601 | 線形近似曲線を追加します |
| msoElementTrendlineAddLinearForecast | 603 | 線形予測を追加します |
| msoElementTrendlineAddTwoPeriodMovingAverage | 604 | 2区間の移動平均を追加します |
| msoElementTrendlineNone | 600 | 近似曲線を表示しません |
| msoElementUpDownBarsNone | 900 | ローソクを表示しません |
| msoElementUpDownBarsShow | 901 | ローソクを表示します |
Excel 2003で、データラベルを表示する操作をマクロ記録すると、次のコードが記録されます。
Sub Macro()
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _
HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
ShowValue:=True, ShowPercentage:=False, ShowBubbleSize:=False
End Sub

このコードは、Excel 2007でも問題なく動作します。

とはいえ、まさか、マクロ記録したコードをそのまま使うような人はいないでしょうから、Excel 2003までは、次のようにしてデータラベルを表示していたと思います。
Sub Macro()
With ActiveSheet.ChartObjects(1).Chart
.ApplyDataLabels ShowValue:=True
End With
End Sub
もちろん、このコードも、Excel 2007で問題なく動作します。