Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

mit Find-Methode Wert aus einer Berechnung finden

Betrifft: mit Find-Methode Wert aus einer Berechnung finden von: Ulli
Geschrieben am: 10.10.2014 08:07:03

Ich versuche mit der Find-Methode einen Wert zu finden, der sich in diesem Beispiel
im Bereich D7:K7 befindet.

Sofern es sich um eingegebene Werte handelt, funktioniert es auch.
Wenn die Zellen des Bereichs aber mit einem Sverweis oder einer anderen Verknüpfung
den Wert aus einer anderen Zelle anzeigen, klappt es nicht mehr.
Ebenso ist es, wenn in der Zelle nur einen einfache Berechnung hinterlegt ist, die dem gesuchten Wert entspricht (z.Bsp. = 2+3), wenn 5 gesucht wird.
Hat jemand eine Ahnung, woran das liegen könnte ?
Ich sage schon mal Danke für jede Hilfe.

Hier das einfache Beispiel:

Option Explicit

Sub Test_Suchen()

 Dim mWert As String
 Dim rng As Range
 
 Sheets("Einlesen").Range("A7").Select
 mWert = ActiveCell.Value
 
  Set rng = Sheets("Einlesen").Range("D7:K7").Find(mWert)
    If Not rng Is Nothing Then
        MsgBox "Juhuuu"
    End If
 
End Sub

  

Betrifft: AW: mit Find-Methode Wert aus einer Berechnung finden von: Daniel
Geschrieben am: 10.10.2014 08:27:26

Hi
Schau dir doch mal die vielfältigen Einstellungmöglichkeiten der Suchfunktion in Excel an.
Dort kann man auch einstellen, ob in Formeln oder in den Werten, dh Formelergebnissen gesucht werden soll.
Mit Hilfe des Recorders kannst du rausfinden, wie man diese Einstellungen in VBA vornimmt.
Wenn du bei der Suche per VBA diese Einstellungen nicht machst, übernimmt Excel die Einstellungen der zuletzt gemachten Suche.

Gruß Daniel


  

Betrifft: AW: mit Find-Methode Wert aus einer Berechnung finden von: Adis
Geschrieben am: 10.10.2014 16:57:51

Hallo

Cells.Find(What:="5", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart).Activate
diesen per Makro Recorder aufgezeichneten Code mal abaendern, vielleicht so:

Set rng = Sheets("Einlesen").Range("D7:K7").Find(mWert)
Set rng = Sheets("Einlesen").Range("D7:K7").Find(What:=mWert, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole) 'xlWhole für ganze Zelle vergleichen

Gruss Adis


  

Betrifft: Dein Vorschlag dürfte kontraproduktiv sein, ... von: Luc:-?
Geschrieben am: 10.10.2014 17:43:27

…Adis,
da hier das Problem von FmlErgebnissen verursacht wird, also doch wohl besser LookIn:=xlValues statt xlFormulas!
Gruß, Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "mit Find-Methode Wert aus einer Berechnung finden"