14.11.2017, 04:57
hi, ich blende so die Segmente eines Diagrammes wieder ein:
Das funktioniert. Jedoch wartet der die Gesamtwartezeit ab und zeigt erst dann alle Segmente. Also so als würde man das Diagramm einfach wieder komplett einblenden. Es sollen jedoch die einzelnen Segmente eingeblendet werden. Wenn ich nur einen Teil des Codes ausführe, dann zeigt der auch nur ein Element an z.B.
Wenn ich dann jeden Segmentabschnitt in ein Makro tue und die per Call aufrufe, dann wartet der trotzdem nur ab und blendet alle gleichzeitig ein.
Wie bekomme ich es hin, dass die einzelnen Segmente eingeblendet werden? So als wenn ich 6x den Teilcode manuell starten würde?
Das identsiche Problem mit einem anderem Code:
Auch hier wird wieder erst gewartet & dann auf einen Schlag der Text hinzugefügt. In F2 usw. stehen die Texte. Ich kann auch eine MsgBox-Ausgabe einschieben. Trotzdem wird der Text erst später eingeblendet:
lieben Dank!
Julia :)
Code:
Sub DiagrammEinblenden()
ActiveSheet.ChartObjects("Diagramm 1").Activate
Application.Wait Now + TimeSerial(0, 0, 0.6)
ActiveChart.ChartGroups(1).FirstSliceAngle = 285
ActiveChart.FullSeriesCollection(1).Points(1).Select
With Selection.Format.Fill
.Visible = msoTrue
End With
Application.Wait Now + TimeSerial(0, 0, 1)
ActiveChart.FullSeriesCollection(1).Points(2).Select
With Selection.Format.Fill
.Visible = msoTrue
End With
Application.Wait Now + TimeSerial(0, 0, 1)
ActiveChart.FullSeriesCollection(1).Points(3).Select
With Selection.Format.Fill
.Visible = msoTrue
End With
Application.Wait Now + TimeSerial(0, 0, 1)
ActiveChart.FullSeriesCollection(1).Points(4).Select
With Selection.Format.Fill
.Visible = msoTrue
End With
Application.Wait Now + TimeSerial(0, 0, 0.6)
ActiveChart.FullSeriesCollection(1).Points(5).Select
With Selection.Format.Fill
.Visible = msoTrue
End With
Application.Wait Now + TimeSerial(0, 0, 0.6)
ActiveChart.FullSeriesCollection(1).Points(6).Select
With Selection.Format.Fill
.Visible = msoTrue
End With
End Sub
Das funktioniert. Jedoch wartet der die Gesamtwartezeit ab und zeigt erst dann alle Segmente. Also so als würde man das Diagramm einfach wieder komplett einblenden. Es sollen jedoch die einzelnen Segmente eingeblendet werden. Wenn ich nur einen Teil des Codes ausführe, dann zeigt der auch nur ein Element an z.B.
Wenn ich dann jeden Segmentabschnitt in ein Makro tue und die per Call aufrufe, dann wartet der trotzdem nur ab und blendet alle gleichzeitig ein.
Wie bekomme ich es hin, dass die einzelnen Segmente eingeblendet werden? So als wenn ich 6x den Teilcode manuell starten würde?
Das identsiche Problem mit einem anderem Code:
Code:
Sub DiagrammTextEin()
Worksheets("Rech").Range("B3").FormulaLocal = "=" & "F2"
Application.Wait Now + TimeSerial(0, 0, 1)
Worksheets("Rech").Range("B4").FormulaLocal = "=" & "F3"
Application.Wait Now + TimeSerial(0, 0, 1)
Worksheets("Rech").Range("B5").FormulaLocal = "=" & "F4"
Application.Wait Now + TimeSerial(0, 0, 0.6)
Worksheets("Rech").Range("B6").FormulaLocal = "=" & "F2"
Application.Wait Now + TimeSerial(0, 0, 0.6)
Worksheets("Rech").Range("B7").FormulaLocal = "=" & "F3"
Application.Wait Now + TimeSerial(0, 0, 0.6)
Worksheets("Rech").Range("B8").FormulaLocal = "=" & "F4"
Application.Wait Now + TimeSerial(0, 0, 0.6)
End Sub
Code:
Sub DiagrammTextEin()
Worksheets("Rech").Range("B3").FormulaLocal = "=" & "F2"
Application.Wait Now + TimeSerial(0, 0, 1)
MsgBox ("Hello")
Worksheets("Rech").Range("B4").FormulaLocal = "=" & "F3"
lieben Dank!
Julia :)