HERBERS Excel-Forum - das Archiv
Abstandsmessungen
Stephan

Hallo Profis,
brauch mal eure Hilfe!
Es soll grundsätzlich immer der Abstand zur letzten gleichen Zahl der selben Spalte (ab Zeile xx)
ermittelt werden. Ist dieser Abstand größer 12 wird eine 0 in Spalte 2 eingetragen, ansonsten
wird der Abstand zur vorherigen Zahl in der Zelle daneben geschrieben.
Die berechung sollte dynamisch beim eingeben der Zahl erfolgen, sollte dies ein Problem sein, so kann ich auch damit leben wenn diese beim verlassen der Zelle geschieht.
Siehe Beispiel:
https://www.herber.de/bbs/user/66877.xls

Abstandsmessungen zwischen Zahlen
Stephan

Falls meine 1. Ausführung doch nicht so verständlic ist, hier nochmals ein Versuch mein Problem zu beschreiben:
Es werden versch. Zahlen in eine Spalte eingetragen. Beim eingeben der Zahl soll überprüft erden, ob es diese Zahl bereits in der Spalte gibt, ist dies der Fall soll in der Spalte daneben der Abstand zu vorherigen Zahl ermittelt werde.
Ich denke da an einen VBA Code, der die Zeile der vorherigen Zahl von der Zeile der aktuell eingegeben Zahl abzieht und das Ergbniss in der Zelle rechts davon ausgibt.
Am Beispiel währe dies bei der 8 (C8) in Spalte 1 der Fall. Diese gibt es bereits in der Zelle C6 deshalb soll nun in der Zelle neben der zweiten 8 die 2 stehen (8-6=29)
Anderes Beispiel: Die 46 wiederholt sich in Zelle C14 (Zeile 14). Die vorherige 46 steht in Zelle C10 (Zeile 10) Folglich 14 - 10 = 4
usw.
Bei der 99 in Zelle C21 erscheint eine "0", da der Abstand zur vorherige 99 in Zelle C7 (21 - 7 = 14) ist, also größer als 12.
Ich habe bereits hier im Forum nach ansätzen gesucht aber bin leider nicht fündig geworden. Würde mich sehr freuen wenn sich jemand kurz damit auseinander setzt und mir damit helfen könnte.
Vorab besten Dank.
Gruß
Stephan
AW: Abstandsmessungen zwischen Zahlen
Josef

Hallo Stephan,
direkt während der Eingabe geht nicht, auch nicht mit VBA.
Tabelle1

 CD
2Spalte 1Spalte 2
3  
410
550
680
7990
882
9250
10460
11252
12360
13252
14464
151560
16112
17365
1850
191564
201561
21990

Formeln der Tabelle
ZelleFormel
D4=WENN(ZÄHLENWENN($C$4:C4;C4)>1;WENN(ZEILE()-VERWEIS(2;1/($C3:C$4=C4); ZEILE(3:$4))>12;0;ZEILE()-VERWEIS(2;1/($C3:C$4=C4); ZEILE(3:$4))); 0)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

AW: Abstandsmessungen
Reinhard

Hallo Stephan, Private Sub Worksheet_Change(ByVal Target As Range) Dim Zei As Long On Error GoTo Fehler Set Target = Intersect(Columns(3), Target) If Target Is Nothing Then Exit Sub If Target.Cells.Count <> 1 Then Exit Sub Application.EnableEvents = False Cells(Target.Row, 4) = 0 For Zei = Target.Row - 1 To 4 Step -1 If Cells(Zei, 3) = Target Then If Target.Row - Zei <= 12 Then Cells(Target.Row, 4) = Target.Row - Zei Exit For End If Next Zei Fehler: Application.EnableEvents = True End Sub
Gruß
Reinhard
AW: Abstandsmessungen
Stephan

Hallo Sepp, hallo Reinhard,
beide Lösungen super, Fuktioniert so wie ich es wünsche. Hoffe Ihr hattet nicht zuviel Arbeit damit!
Danke!
Gruß
Stephan