Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
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
Inhaltsverzeichnis

Live Diagramm mit VBA

Live Diagramm mit VBA
08.06.2020 11:51:41
MatthiasM
Hallo zusammen,
ich möchte gerne ein live-Diagramm mit VBA erzeugen.
Die Balken sollen sich live aufbauen, sodass die Zuschauer erst am Ende sehen, welcher Balken am längsten ist.
Ich habe einen sehr einfachen Beispielcode und nun das Problem. dass sich das Diagramm erst nach dem Ablauf des Codes aktualisiert und die Arbeitsmappe vorher "hängt".
Code:
Sub Kopieren()
Application.ScreenUpdating = True
Dim NR As Long
Dim i As Long
Dim RdStk As Long
Dim wrsQuelle As Worksheet
Dim wrsLfdNr As Worksheet
Dim wrsZiel As Worksheet
Set wrsQuelle = Worksheets("Daten")
Set wrsZiel = Worksheets("Rennliste")
Set wrsLfdNr = Worksheets("NR")
For i = 1 To 1000
If wrsQuelle.Cells(2, 2) > i Then
wrsLfdNr.Cells(i + 1, 1).Copy Destination:=wrsZiel.Cells(2, 2)
Else
wrsQuelle.Cells(1, 2).Copy Destination:=wrsZiel.Cells(2, 2)
End If
''Application.Wait (Now + TimeValue("00:00:05"))
Next i
End Sub

https://www.herber.de/bbs/user/138127.xlsx
Hat jemand eine Idee, wie ich die Perfomance besser hinbekomme?
VG
Matthias

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

Betreff
Datum
Anwender
Anzeige
Lösungsvorschlag
08.06.2020 15:28:50
Beverly
Hi Matthias,
versuche es mit folgendem einfachen Code:
Option Explicit
Dim Ende As Boolean
Sub DiaErweitern()
Dim Wartezeit As Double
Dim lngZaehler As Long
Dim t As Double
Wartezeit = 0.01
Range("B2:B11") = 1
With ActiveSheet.ChartObjects(1).Chart
.Axes(xlValue).MinimumScale = 0
.Axes(xlValue).MaximumScale = _
Application.Max(Worksheets("Daten").Range("B2:B11")) + 100
End With
For lngZaehler = 1 To Application.Max(Worksheets("Daten").Range("B2:B11")) + 100
If Range("B2") 

Das 1. Makro startet den Ablauf, beginnend mit dem Wert 1, das 2. Makro beendet den Ablauf vorzeitig.
Die Schnelligkeit des Ablaufs kannst du durch Verändern der Variablen Wartezeit einstellen.


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige