Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1268to1272
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Blasendiagramme hinzufügen / VBA
Peter
Hallo zusammen,
ich habe ein Problem mit dem Hinzufügen von neuen Blasendiagrammen. Ich habe eine Liste von Projekten und immer wenn ein neues Projekt hinzukommt, soll dieses auch im Diagramm auftauchen. Ich habe mal den entsprechenden Code aufgezeichnet; hier habe ich aber nur die absoluten Bezüge. Könnt ihr mir Tipps geben, wie ich es variabel gestalten kann? Habe die Stellen im Code entsprechend auskommentiert.
Vielen Dank für eure Tipps und Hilfe!
https://www.herber.de/bbs/user/80914.xlsm
Beste Grüße,
Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Blasendiagramme hinzufügen / VBA
10.07.2012 12:57:10
fcs
Hallo Peter,
hier mein Vorschlag für die Anpassung.
Ich hab den Code ein wenig zusammengezogen (Wertzuweisungen und Formatierung).
Gruß
Franz
Sub ProjektKopieren()
Application.ScreenUpdating = False
Dim iSpalte  As Integer
Dim lZeile   As Long, lZeileL As Long
Rows("1:500").EntireRow.Hidden = False
iSpalte = 6
lZeileL = Cells(Rows.Count, iSpalte).End(xlUp).Row
For lZeile = 1 To lZeileL
If Cells(lZeile, iSpalte) = "closed" Then
Rows(lZeile).EntireRow.Hidden = True
End If
Next lZeile
'dieser Bereich muss angepasst werden; immer eine Zeile weiter, wenn ein neues Projekt  _
hinzukommt
Range("C" & lZeileL & ":E" & lZeileL & ",G" & lZeileL).Select
Selection.Copy
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Paste
ActiveSheet.ChartObjects("Diagramm 1").Activate
Application.CutCopyMode = False
'die Namen und Koordinaten sollen variabel sein; immer eine Zeile weiter, wenn ein  _
neues Projekt hinzukommt
With ActiveChart
With .SeriesCollection(.SeriesCollection.Count)
.Name = "=Auswertung!$C$" & lZeileL
.XValues = "=Auswertung!$D$" & lZeileL
.Values = "=Auswertung!$E$" & lZeileL
.BubbleSizes = "=Auswertung!$G$" & lZeileL
.ApplyDataLabels
.DataLabels.Select
Selection.ShowSeriesName = True
Selection.ShowValue = False
Selection.Position = xlLabelPositionCenter
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0.5
.Solid
End With
End With
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Blasendiagramme hinzufügen / VBA
10.07.2012 14:14:07
Peter
Hallo Franz,
vielen Dank; werde es mir später mal anschauen!
Beste Grüße,
Peter
AW: Blasendiagramme hinzufügen / VBA
10.07.2012 16:33:43
Hajo_Zi
Hi Peter,
mit dem Code wird geprüft, welche Projekte bereits im Diagramm eingetragen sind - nicht vorhandene werden ergänzt. Es spielt also keine Rolle, wann der Code ausgeführt wird - sofort nach Ergänzung eines neuen Projektes im Tabellenblatt oder nachdem mehrere Projekte eingetragen wurden.
Sub DiaErgaenzen()
Dim iSpalte  As Integer
Dim lZeile   As Long
Dim intReihe As Integer
Dim blnVorhanden As Boolean
Rows("1:500").EntireRow.Hidden = False
iSpalte = 6
For lZeile = 1 To Cells(Rows.Count, iSpalte).End(xlUp).Row
If Cells(lZeile, iSpalte) = "closed" Then
Rows(lZeile).EntireRow.Hidden = True
End If
Next lZeile
For lZeile = 12 To IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row,  _
Rows.Count)
With ActiveSheet.ChartObjects(1).Chart
For intReihe = 1 To .SeriesCollection.Count
If .SeriesCollection(intReihe).Name = Cells(lZeile, 3) Then
blnVorhanden = True
Exit For
End If
Next intReihe
If blnVorhanden = False Then
With .SeriesCollection.NewSeries
.Name = Cells(lZeile, 3)
.XValues = Cells(lZeile, 4)
.Values = Cells(lZeile, 5)
.BubbleSizes = Cells(lZeile, 7)
.ApplyDataLabels
With .DataLabels
.ShowSeriesName = True
.ShowValue = False
.Position = xlLabelPositionCenter
With .Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0.5
.Solid
End With
End With
End With
End If
End With
blnVorhanden = False
Next lZeile
End Sub



Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige