Bagan Excel - menghitung seri dan kemudian menambahkan label data ke titik terakhir

2

Saya telah berhasil membuat makro yang menemukan titik terakhir dari seri pertama dalam bagan dan menambahkan serta memformat label data. Sekarang saya ingin membuatnya menghitung seri, yang dapat berubah jumlahnya, dalam bagan dan beralih melalui masing-masing melakukan apa yang dilakukan pada seri 1.

Gagal gagal. Saya telah mengomentari bagian yang saya coba tetapi gagal.

Saya tidak yakin bagaimana saya membungkus lingkaran di sekitar apa yang telah saya lakukan.

Bantuan apa pun sangat kami hargai.

Michael.

Dim MyChart As Chart
Dim ChartPoints As Points
Dim ChartDataLables As DataLabel
'Dim NumberOfSeries As Series

Set MyChart = ActiveSheet.ChartObjects("Chart 1").Chart

'Set NumberOfSeries = MyChart.SeriesCollection.Count

Set ChartPoints = MyChart.SeriesCollection(1).Points
ChartPoints(ChartPoints.Count).ApplyDataLabels
Set ChartDataLables = ChartPoints(ChartPoints.Count).DataLabel

 'For Each NumberOfSeries In MyChart
 With MyChart
     With ChartDataLables
    .Position = xlLabelPositionRight
    .HorizontalAlignment = xlCenter
    .Font.Size = 8
    .NumberFormat = "0.00"
    .ShowSeriesName = True
    .Font.Name = "Arial Narrow"
     End With
 End With
  'Next NumberOfSeries
 End Sub

Makro asli saya ditulis dengan bantuan Google / Forum dan coba-coba.

RocketGoal
sumber
Saya menulis tutorial ini di blog saya: Label Last Point for Excel 2007 .
Jon Peltier
@ JonPeltier Terima kasih banyak. Saya tahu saya harus memeriksa situs Anda lebih dekat.
RocketGoal

Jawaban:

1

Tidak perlu untuk VBA (kecuali jika Anda suka VBA). Cukup buat seri pembantu yang mengevaluasi jika ada nilai lain (saya menggunakan rumus offset). Jika tidak ada nilai "berikutnya" dalam seri data Anda, maka kembalikan nilai saat ini / terakhir. Jika tidak, kembalikan # N / A. Kemudian tambahkan seri bantuan ini ke bagan Anda, dan beri label / format sesuai selera. Bagan mengabaikan semua N / A dan hanya memplot titik data akhir. Ini juga dapat digunakan untuk menemukan nilai kunci lainnya (mis. Pertama, tinggi, rendah, dll ...).

masukkan deskripsi gambar di sini

dav
sumber
Terima kasih untuk ini. Saya sangat menyukai ide ini, dan saya akan mencoba menerapkannya di beberapa grafik masa depan saya.
RocketGoal
0

Ulangi setiap seri dalam grafik -

Option Explicit

Public Sub LoopThroughSeries()
    Dim myChart As ChartObject
    Dim mySeries As Series

    With myChart
        For Each mySeries In myChart.Chart.SeriesCollection
            'do stuff
        Next
    End With

End Sub
Raystafarian
sumber
Permintaan maaf. Saya sibuk mengerjakan proyek lain sehingga belum bisa menerapkan saran Anda. Tapi saya akan kembali ke masalah ini. Terima kasih.
RocketGoal