2.4k Aufrufe
Gefragt in Tabellenkalkulation von
Hi @ all,

habe folgendes Problem:

ich habe 2 Spalten in einer Exceltabelle. In Spalte B2 steht z.B. 3, in Spalte A2 4. Wie kann ich erreichen, das wenn ich in Spalte B2 einen höheren Wert als in Spalte A2 eingebe, dieser dort automatisch dorthin übernommen wird ?

Gruß
Heiko

6 Antworten

0 Punkte
Beantwortet von
Hallo Heiko,
mit VBA könnte die Lösung deines Problems so aussehen:
Zellwert

Gruß
fedjo
0 Punkte
Beantwortet von contrarian2009 Einsteiger_in (5 Punkte)
Hi Fedjo,

erstmal vielen Dank für deine Antwort, du hast meine Frage zu 100% richtig beantwortet, dein Makro funktioniert :-)

Ich habe allerdings die Frage ein wenig vereinfacht gestellt, weil ich gedacht habe auch mit der Antwort auf diese vereinfachte Fragestellung mein Problem lösen zu können.

Tatsächlich verhält es sich so : Ich habe ein Kurssystem, welches mir die Höchstkurse eines Tages in eine Exceltabelle exportiert. Dieser ändert sich natürlich immer dann, wenn im Laufe das Tages ein neuer Höchskurs erreicht wird. Mit dem Befehlsformel ='WinTrade 1'!M2, eingetragen in Zelle B2, erhalte ich in Zelle B2 den Höchstkurs der Aktie, die in meinem Kurssystem in der 2. Zeile steht, mit ='WinTrade 1'!M3, eingetragen in Zelle B3 erhalte ich in Zelle B3 den Höchstkurs der Aktie, die in meinem Kurssystem in der 3. Zeile steht u.s.w.. Diese Höchstkurse sollen nun mit den Werten verglichen werden, die ich manuell links daneben in die A-Spalte geschrieben habe, also B2 mit A2, B3 mit A3 u.s.w.: Sobald der Wert in Spalte B jetzt den Wert in Spalte A überschreitet, soll dieser in Spalte A übernommen werden.

Dein Makro funktioniert, wenn ich in Spalte B einen höheren Wert manuell eingebe und die Eingabe mit Enter abschließe, aber leider nicht, wenn dieser Wert durch das Kurssystem geliefert wird, dann bleibt nämlich der alte Wert in Spalte A erhalten und wird nicht von Spalte B übernommen.

Ich hoffe du kannst auch dieses Problem lösen, bisher habe ich nämlich dieses Problem immer so lösen müssen, das ich manuell die beiden Werte verglichen habe und den höheren Wert von B in Spalte A übertragen habe ...

Gruß
Heiko
0 Punkte
Beantwortet von
Hallo Heiko,
vielleicht reicht ein Makro aus, wenn die Kurse in Spalte B übernommen wurden.
Zellwerte

Gruß
fedjo
0 Punkte
Beantwortet von contrarian Einsteiger_in (9 Punkte)
Hi Fedjo,

ja, das würde auch gehen. So müsste ich ja nur 1 mal manuell auf den Button Makro klicken und alle Werte der einen Spalte würden auf den höheren Wert der anderen Spalte gebracht. Das ist ne gute Idee.

Hätte dann nur noch eine letzte Bitte, denke das ist für dich ein Klacks.
Es handelt sich in meiner Tabelle tatsächlich nicht um die Spalten A und B, sondern U und T. Die Spalte U entspricht der Spalte B, die Spalte T der A-Spalte. Wenn du das noch im Makro verändern könntest würde ich dich ab heute "Excel-Gott" nennen :-)

Gruß
Heiko
0 Punkte
Beantwortet von
Hallo Heiko,
habe das Makro geändert:

Option Explicit
Sub Vergleichen()
Dim LoI As Long
Dim LoLetzte1 As Long
Dim LoLetzte2 As Long
With ActiveSheet
LoLetzte1 = IIf(IsEmpty(Cells(Rows.Count, 20)), Cells(Rows.Count, 20).End(xlUp).Row, Rows.Count)
LoLetzte2 = IIf(IsEmpty(Cells(Rows.Count, 21)), Cells(Rows.Count, 21).End(xlUp).Row, Rows.Count)
If LoLetzte2 > LoLetzte1 Then LoLetzte1 = LoLetzte2
For LoI = 1 To LoLetzte1
If .Cells(LoI, 20) < .Cells(LoI, 21) Then
.Cells(LoI, 20) = Cells(LoI, 21)
End If
Next LoI
End With
End Sub

Gruß
fedjo
0 Punkte
Beantwortet von contrarian Einsteiger_in (9 Punkte)
Hi Fedjo,

du darfst dich ab heute mit dem Titel "Excel-Gott" schmücken, dein Makro funktioniert, habs in meine Excel-Tabelle integriert :-)

Es wird mir die Arbeit in Zukunft damit viel einfacher machen, danke Dir vielmals dafür :-)

Gruß
Heiko
...