Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
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

was läuft hier falsch?

was läuft hier falsch?
01.08.2019 12:41:12
kili

Private Sub Worksheet_Calculate()
Dim z As Long
z = Cells(Rows.Count, 1).End(xlUp).Row
If Cells(z, 1)  [A1] Then
Range(Cells(z + 1, 1), Cells(z + 1, 20)) = Range("A1:T1")
End If
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bloße Vermutung
01.08.2019 12:50:51
{Boris}
Hi,
Range(Cells(z + 1, 1), Cells(z + 1, 20)).Value = Range("A1:T1").Value
Zudem würde ich das [evaluieren] von Zellen lassen und ganz normal mit Range oder Cells arbeiten.
VG, Boris
AW: was läuft hier falsch?
01.08.2019 12:53:43
Rudi
Hallo,
If Cells(z, 1)  [A1] Then
Range("A1:T1").Copy Cells(z + 1, 1)
End If

Gruß
Rudi
AW: was läuft hier falsch?
01.08.2019 13:44:26
kili
Excel macht es nicht, wie ich es will.
L3 ändert sich automatisch jede Minute.
Jetzt soll Excel die Zeile 3 in Zeile 7 eintragen.
Nach einer Minute soll Excel die Zeile 3 in Zeile 8 eintragen usw.
Hier mal die Datei:
https://www.herber.de/bbs/user/131206.xlsm
Anzeige
AW: was läuft hier falsch?
01.08.2019 14:40:40
kili
Ok, ich probiere jetzt solange rum, bis ich es rausgefunden habe.
Kann ja nicht so schwer sein, die Änderungen der dritte Zeile zu kopieren.
Ich teile euch dann die Lösung mit. :-)
Du musst schon...
01.08.2019 15:38:53
{Boris}
Hi,
...dafür sorgen, dass das Calculate-Ereignis auch angestoßen wird.
Schreib mal in irgendeine freie Zelle (z.B. in Zeile 5) die Funktion =JETZT()
Testweise habe ich die If-Abfrage mal auskommentiert. Jede Neuberechnung des Blattes (F9) macht dann genau das was Du möchtest.
Private Sub Worksheet_Calculate()
Dim z As Long
z = Cells(Rows.Count, 2).End(xlUp).Row
'If Cells(z, 12)  [L3] Then
Application.EnableEvents = False
Range("A3:VN3").Copy Cells(z + 1, 1)
Application.EnableEvents = True
'End If
End Sub
VG, Boris
Anzeige
AW: Du musst schon...
01.08.2019 15:51:48
kili
Wow Boris,
du kommst der Sache näher.
Jetzt funktioniert es, aber jetzt wird das Ereignis immer 2 mal angestoßen (beim ersten Mal, wenn sich L3 ändert und beim zweiten Mal, wenn er das "=jetzt()-Ereignis" ausführt.
Das hat zur Folge, dass alle Werte immer doppelt untereinander stehen.
Hast du eine Idee?
AW: Du musst schon...
01.08.2019 15:55:28
kili
Ich hab jetzt schon versucht, einfach auf A5 zu verweisen, aber auch dann schreibt er alles doppelt.
Doppeltes Calculate verhindern
01.08.2019 16:21:44
{Boris}
Hi,
ungetestet:
Deklariere eine öffentliche bool'sche Variable in einem allgemeinen Modul:
Public B As Boolean

Und ergänze Deinen Code wie folgt:
Private Sub Worksheet_Calculate()
Dim z As Long
If B = True Then
B = False
Exit Sub
End If
z = Cells(Rows.Count, 2).End(xlUp).Row
If Cells(z, 12)  [L3] Then
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Range("A3:VN3").Copy Cells(z + 1, 1)
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
B = True
End If
End Sub
VG, Boris
Anzeige
AW: Doppeltes Calculate verhindern
01.08.2019 16:27:45
kili
Boris, du bist der Beste.
Das war die Lösung. Jetzt stehen meinen Live-Diagrammen nichts mehr im Wege. :-)
Vielen Dank!!!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige