26.03.2019, 16:15
Hallo liebes Forum,
ich habe die letzten Tage angefangen etwas intensiver mit Excel zu arbeiten und möchte folgendes erreichen:
Ich bekomme Live-Preise in Excel, die sich automatisch aktualisieren. Der Preis steht in A1. Nun möchte ich, dass wenn sich der Preis verringert, dieser geringere Preis in B1 eingetragen wird. Wenn A1 sich erhöht, dann bleibt der Preis in B1 gleich.
In B1 soll also immer der niedrigste Preis sein, der jemals in A1 stand. Ein Ansatz, den ich habe lautet:
Diesen Code habe ich in den VBA-Editor vom Worksheet in dem die Zellen sind (Tabelle 1) eingetragen. Hier kommt "Laufzeitfehler 13, Typen unverträglich" als Fehlermeldung.
Die Erweiterung, die ich außerdem gerne hätte, wäre eine Liste in der Preise live aktualisiert werden (z.B. A1:A10) und jeweils daneben (z.B. B1:B10) der niedrigste jemals gesehene Preis dokumentiert wird.
Dafür weiß ich nicht, ob es mit folgendem Ansatz geht:
Das ist das erste Mal, dass ich mit VBA arbeite. Daher kann es sein, dass diese Probleme möglicherweise trivial erscheinen.
Ich würde mich freuen falls jemand eine Idee hat, warum im ersten Code eine Fehlermeldung kommt und, ob die Anwendung des Codes auf einen größeren Bereich nach dem Schema wie im 2. Code funktionieren könnte.
Falls jemand einen anderen Ansatz für dieses Problem hat, würde mich das auch freuen zu hören (oder gar eine Lösung ohne VBA).
Gruß,
Alex
ich habe die letzten Tage angefangen etwas intensiver mit Excel zu arbeiten und möchte folgendes erreichen:
Ich bekomme Live-Preise in Excel, die sich automatisch aktualisieren. Der Preis steht in A1. Nun möchte ich, dass wenn sich der Preis verringert, dieser geringere Preis in B1 eingetragen wird. Wenn A1 sich erhöht, dann bleibt der Preis in B1 gleich.
In B1 soll also immer der niedrigste Preis sein, der jemals in A1 stand. Ein Ansatz, den ich habe lautet:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
If Range("A1") < Range("B1") Then
Range("B1") = Range("A1")
End If
End If
End Sub
Diesen Code habe ich in den VBA-Editor vom Worksheet in dem die Zellen sind (Tabelle 1) eingetragen. Hier kommt "Laufzeitfehler 13, Typen unverträglich" als Fehlermeldung.
Die Erweiterung, die ich außerdem gerne hätte, wäre eine Liste in der Preise live aktualisiert werden (z.B. A1:A10) und jeweils daneben (z.B. B1:B10) der niedrigste jemals gesehene Preis dokumentiert wird.
Dafür weiß ich nicht, ob es mit folgendem Ansatz geht:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1:A10") Then
If Range("A1:A10") < Range("B1:B10") Then
Range("B1:B10") = Range("A1:A10")
End If
End If
End Sub
Das ist das erste Mal, dass ich mit VBA arbeite. Daher kann es sein, dass diese Probleme möglicherweise trivial erscheinen.
Ich würde mich freuen falls jemand eine Idee hat, warum im ersten Code eine Fehlermeldung kommt und, ob die Anwendung des Codes auf einen größeren Bereich nach dem Schema wie im 2. Code funktionieren könnte.
Falls jemand einen anderen Ansatz für dieses Problem hat, würde mich das auch freuen zu hören (oder gar eine Lösung ohne VBA).
Gruß,
Alex