Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
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

VBA Makro Berechnung

VBA Makro Berechnung
23.12.2020 11:10:09
Marko
Hallo,
ich benötige Eure Hilfe bei diesem Makro:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("C14").Value > Range("C16").Value Then
Range("C19").Value = Range("C14").Value
Else
Range("C19").Value = Range("C16").Value
End If
End Sub
Dieses Makro arbeitet korrekt. Nur die Dauer der Berechnung (Threads) ist sehr lang. Habe ich irgend etwas übersehen? Oder fehlt im Makro noch etwas entscheidendes?
Vielen Dank für Eure Hilfe.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro Berechnung
23.12.2020 11:12:32
Hajo_Zi
du syolltetr die Reaktion auf Eingabe abschalten
Application.EnableEvents = False

VBA Email mit Anhang als PDF
23.12.2020 11:17:53
Marko
Perfekt und Dankeschön.
AW: VBA Email mit Anhang als PDF
23.12.2020 11:28:57
GerdL
Hallo Marko!
Du kannst auch die Häufigkeit der Berechnungen reduzieren.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0, xlA1) = "C14" Or Target.Address(0, 0, xlA1) = "C16" Then
Application.EnableEvents = False
Range("C19").Value = WorksheetFunction.Max(Range("C14").Value, Range("C16").Value)
Application.EnableEvents = True
End If
End Sub

Gruß Gerd
Anzeige
kürzere Darstellungen
23.12.2020 12:05:09
MCO
Hallo!
Deine Logik lässt sich deutlich kürzer darstellen. War zwar nicht deine Frage und hat ohne die Beiträge der anderen X-perten auch keinen Effekt, ist aber wesentlich übersichtlicher.
Alle Zeilen bilden Deine Logik mit dem gleichen Ergebnis ab:
Range("C19").Value = IIf(Range("C14").Value > Range("C16").Value, Range("C14").Value, Range(" _
C16").Value)
Range("C19") = IIf(Range("C14") > Range("C16"), Range("C14"), Range("C16"))
[C19] = IIf([C14] > [C16], [C14], [C16])
Gruß, MCO

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige