Excel-Spalte C auslesen und passenden Wert+Zelle aus Spalte D ausgeben

Hallo WWW,

ich habe mal eine VBA Frage, die mich fast schon fertig macht :smile:

Ich möchte per Makro in Excel die Range(„C15:C60“) auslesen.

In dieser könnte entweder der Wert „Eingabe“ oder „Entry“ stehen. Niemals beide.

Angenommen der Wert Eingabe befindet sich auf C48.
Nun will ich den passenden Wert daneber ausgeben - heißt: D48

Zunächst mal als MsgBox.

Geht das mit einer For Each Schleife???

Brauche dringend Rat:smile:

Viele Grüße
Red

Geht das mit einer For Each Schleife???

Hallo Red
Ja, mit dieser Schleife geht es

Sub TEST()
Dim Zelle As Range
Dim Nachbar
Range("C15:C60").Select
For Each Zelle In Selection
 If Zelle.Value = "Entry" Or Zelle.Value = "Eingabe" Then
 Nachbar = Zelle.Offset(0, 1)
 MsgBox Nachbar
 End If
Next
End Sub

Beachten muss man: Die Einträge „Entry“ oder „Eingabe“ müssen in der Tabelle wirklich so geschrieben sein. Gross-/Kleinschreibung muss ganz eindeutig sein.

Wenn Gross-/Kleinschreibung keine Rolle spielen soll, dann musst Du die Zeile " If Zelle.Value = „Entry …“ ersetzen durch folgendes:

If LCase(Zelle.Value) = "entry" Or LCase(Zelle.Value) = "eingabe" Then

Ich hoffe, das ist das, was Du erwartest, und grüsse
Niclaus

Auch ohne Schleife
N’Abend Red

so sollte es gehen:

Sub tt()
 MsgBox Range("D" & WorksheetFunction.Max(Range("C15:C60").Find("eingabe").Row, Range("C15:C60").Find("entry").Row))
End Sub

Gruß, Andreas

Es hat geklappt
Ich liebe WWW!

Rießen Dank an euch beide!!!

Hab beides ausprobiert und beides geht einwandfrei:wink:

G Red