VBA Runtime error
#1
Hallo zusammen,

ich habe mir ein kleines Makro geschrieben, jedoch bekomme ich eine Fehlermeldung wenn ich das Makro wieder laufen lassen, nachdem ich über eine Tabelle gefiltert habe.

Kann mir da jemand weiter helfen?

Ich hänge die Datei auch mal an. Das Makro wird über einen Button ausgelöst und soll das Bubble Diagramm beschriften, jedoch kommt immer ein Runtime Error. Weiß nicht was ich falsch mache...

Vielen Dank für Eure Hilfe.

Viele Grüße
Sebastian


Angehängte Dateien
.xlsm   Test_makro.xlsm (Größe: 493,13 KB / Downloads: 3)
Top
#2
Hallo Sebastian,

bei mir stirbt dein Code, wenn der ProjCounter auf 4 addiert wurde.
Das könnte heißen ,es gibt nur 3 ProjCounter?

Gruß Peter
Top
#3
Hi Peter,

vielen Dank für Deine Antwort. Genau so passiert es bei mir auch. Wenn ich haber den Filter der Tabelle raus nehme, dann führt der das Makro ohne weiteres aus.

Ich kann das nicht nachvollziehen, bzw. habe da bis jetzt noch keine Lösung.

Viele Grüße
Sebastian
Top
#4
Hallo Sebastian,

versuche es einmal so:

PHP-Code:
Sub CreateDataLabels()

   Dim Projekt As Series
   Dim SingleCell
As Range
   Dim ProjList
As Range
   Dim ProjCounter
As Integer
   Dim SingleChart
As ChartObject
       Set ProjList
= Range("A30", Range("A30").End(xlDown))
       For Each SingleChart In ActiveSheet.ChartObjects
           ProjCounter
= 1
       Set Projekt
= SingleChart.Chart.SeriesCollection(1)
           Projekt.HasDataLabels = True
       For Each SingleCell In ProjList
           Projekt
.Points(ProjCounter).DataLabel.Text = SingleCell.Value
           ProjCounter
= ProjCounter + 1
           If Projekt
.Points.Count < ProjCounter Then Exit For
       Next SingleCell
   Next SingleChart
End Sub

Gruß Peter
Top
#5
Hi Peter,

vielen Dank für den Code, die Fehlermeldung ist weg, jedoch wird das Diagramm nicht mehr aktualisiert.

So langsam habe ich das Gefühl, dass das ein Bug in Excel ist...

Denn wenn ich den Filter raus nehme, dann sieht alles super aus, aber so bald ich den Filter setze, werden die Bubbles nicht mehr neu beschrieben...

Vielen Dank für Deine Hilfe und viele Grüße
Sebastian
Top
#6
Hallo Sebastian,

das Problem ist, dass Du einen Bereich über alle Zellen setzt, auch die weggefilterten. Du willst jedoch nur die sichtbaren verarbeiten. Dann ändere nur die Zeile mit dem Bereich von:
Set ProjList = Range("A30", Range("A30").End(xlDown))
in
Set ProjList = Range("A30", Range("A30").End(xlDown)).SpecialCells(xlCellTypeVisible)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste