Microsoft Excel

Herbers Excel/VBA-Archiv

Inhalte einfügen

Betrifft: Inhalte einfügen von: roggi
Geschrieben am: 27.08.2004 16:15:05

Hallo,

ich habe ein kleines Problem.
In Zelle B1 soll immer der höchste Wert erscheinen, der jemals in Zelle A1 erreicht wurde.
Zum Bsp. A1=50 dann B1=50, A1=51 dann B1=51, A1=49 dann B1=51 (-> B1=51 weil 51 in dieser Kette der höchste Wert war)
Zur Zeit wurde dieses folgendermaßen gelöst:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
    If Target.Value > Target.Offset(0, 1).Value Then Target.Offset(0, 1).Value = Target.Value
End If
End Sub


UND jetzt mein Problem:

Tippe ich per Hand die oben genannte Kette (50, 51, 49) ein, so erscheint in Zelle B1 auch mein gewünschter Wert (hier 51).
Wird jedoch die Zelle A1 nicht per Hand eingepflegt, sondern von einer externen Datenquelle, so muß ich bei Veränderung der Zelle A1, die Zelle A1 mit "F2+Eingabe" erst aktivieren, damit Zelle B1 sich verändert.
Ich möchte jedoch, dass sich die Zelle B1 bei jeder Inhaltsveränderung von Zelle A1 ändert.

Hat jemand eine Lösung ?

Danke und Gruß

Roggi
  


Betrifft: AW: Inhalte einfügen von: ransi
Geschrieben am: 28.08.2004 11:29:23

guten morgen roggi

warum dein code nicht geht, weiss ich nicht.
vieleicht wird kein change ereigniss ausgelöst wenn du die daten mit einer verknüpfung holst.
versuch mal als ansatz das hier:
Private Sub Worksheet_Calculate()
Dim zeile As Long
For zeile = 1 To 1000 'musst du anpassen
If Cells(zeile, 1) > Cells(zeile, 2) Then Cells(zeile, 2) = Cells(zeile, 1)
Next
End Sub

vieleicht hilfts dir ja weiter.
ransi


 

Beiträge aus den Excel-Beispielen zum Thema "Inhalte einfügen"