Microsoft Excel

Herbers Excel/VBA-Archiv

End(xlUp) ersetzen

Betrifft: End(xlUp) ersetzen von: Clara
Geschrieben am: 06.11.2020 14:53:47

Hello:)

ich erspare uns hier mal das Makro an sich, sondern springe zum zu klärenden Punkt.

Bisher gehe ich von einer ActiveCell mittels End(xlUp) zu einer bestimmten Zielrange - diese ist immer unterschiedlich weit oberhalb der ActiveCell und der Inhalt der Zielrange ist IMMER gleich.

Jetzt habe ich das Problem, dass bisher zwischen End(xlUp) und der Zielrange keine anderen Werte waren, sodass ich da einfach hingekommen bin. Jetzt sind die paar Zellen dazwischen jedoch befüllt, sodass das nicht mehr funktioniert.

Ideen wie ich xlUp komme?

LG
Clara

Betrifft: AW: End(xlUp) ersetzen
von: Beverly
Geschrieben am: 06.11.2020 15:08:36

Hi Clara,

wenn der Suchbegriff immer gleich ist, kannst du mittels Find-Methode nach dem Begriff suchen:
Sub Finden()
    Dim rngZelle As Range
    Set rngZelle = Columns(ActiveCell.Column).Find("Mein Begriff", after:=ActiveCell, _
        lookat:=xlWhole)
    If Not rngZelle Is Nothing Then Application.Goto reference:=rngZelle
End Sub


GrußformelBeverly's Excel - Inn

Betrifft: AW: End(xlUp) ersetzen
von: Clara
Geschrieben am: 06.11.2020 15:32:32

Danke Beverly, verstanden.

Was muss ich verändern, damit von unten nach oben gesucht wird?

In der Column steht "Mein Begriff" mehrfach.

LG
Clara

Betrifft: AW: End(xlUp) ersetzen
von: Clara
Geschrieben am: 06.11.2020 15:36:15

Hab's :)
Sub Finden()
    Dim rngZelle As Range
    Set rngZelle = Columns(ActiveCell.Column).Find(what:="ISIN", after:=ActiveCell, lookat:= _
xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
    If Not rngZelle Is Nothing Then Application.Goto reference:=rngZelle
End Sub


Betrifft: AW: End(xlUp) ersetzen
von: Daniel
Geschrieben am: 06.11.2020 15:37:51

Hi
bei .FIND bestimmst du die Suchrichtung mit dem Parameter Searchdirction:=xlNext / xlprevious
wobei xlnext die normale Suchrichtung von oben nach unten ist und xlprevious von unten nach oben.
die Zelle, die bei AFTER angegeben ist, ist immer die letzte Zelle, die durchsucht wird, nicht die erste.

Gruß Daniel

Betrifft: AW: End(xlUp) ersetzen
von: Beverly
Geschrieben am: 06.11.2020 15:40:46

Hi Clara,

schau mal hier: https://docs.microsoft.com/de-de/office/vba/api/excel.range.find unter dem Parameter SearchDirection


GrußformelBeverly's Excel - Inn

Betrifft: Mit Range.Find? owT
von: RPP63
Geschrieben am: 06.11.2020 15:08:39

Hier kein weiterer Text

Beiträge aus dem Excel-Forum zum Thema "End(xlUp) ersetzen"