811 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
Ich habe folgendes Problem:
Ich hätte gerne, dass Excel zwei Spalten solange "durchsucht" bis ein bestimmter Wert über bzw. ein zweiter Wert unterschritten wird. Also entweder in spalte A der Wert 10 erreicht ist oder in Spalte B der Wert 5 Unterschritten wird. Allerdings gibt es noch eine Bedingung: Das alles soll nur geschehen wenn in Spalte C z.B. eine 1 steht...Also zusammenfassend: Wenn C=1 dan suche solange in A und B bis entweder Wert (A) >10 oder Wert(B)<5. Als Output in Spalte D sollte dann je nach dem ob Über- oder Unterschreitung bspw. 5 bzw. -5 stehen.
Ich hoffe das Problem ist in Excel zu lösen und es ist nicht zu wirr beschrieben :-).

Vielen Dank für eure Hilfe

1 Antwort

0 Punkte
Beantwortet von
Hallo Unbekannte(r),
meinst du es so?
Option Explicit
Sub suche()
Dim lng As Long
Dim strAdr As String
Dim rg As Range

Set rg = Columns(3).Find(What:="1", After:=Columns(3).Cells(1, 1), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False)
If Not rg Is Nothing Then
strAdr = rg.Address
Do
If Not IsEmpty(rg.Offset(0, -2)) And IsNumeric(rg.Offset(0, -2).Value) And rg.Offset(0, -2).Value > 10 Then
rg.Offset(0, 1).Value = 5
Exit Sub
End If
Set rg = Columns(3).FindNext(rg)
If Not IsEmpty(rg.Offset(0, -1)) And IsNumeric(rg.Offset(0, -1).Value) And rg.Offset(0, -1).Value < 5 Then
rg.Offset(0, 1).Value = -5
Exit Sub
End If
Set rg = Columns(3).FindNext(rg)
Loop While rg.Address <> strAdr
End If
End Sub

Gruss Rolf
...