Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1772to1776
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Wert finden und markieren
22.07.2020 09:36:35
Andreas
Hallo Liebe Excel Freunde,
Ich möchte einen Wert aus F4 in Spalte C C6:C2350 suchen und zu dieser Zelle springen. Mein Versuch
Private Sub CommandButton1_Click()
Application.Goto Range("C5:C2350").Find(What:=Range("F4").Value), True
End Sub

Bringt leider den Fehler ungültiger Prozedur Aufruf o. ungültiges Argument
Wo liegt mein Fehler?
Vielen Dank für Eure Hilfe, Gruß, Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
On Error Resume Next
22.07.2020 09:52:25
Matthias
Hallo Andreas,
den Fehler könntest Du abfangen.
 On Error Resume Next
Application.Goto Range("C5:C2350").Find(What:=Range("F4").Value), True
Der Code funktioniert, wenn der Wert gefunden wird.
Hab ich getestet.
Gruß Matthias
AW: On Error Resume Next
22.07.2020 10:07:54
Andreas
Jep Vielen Dank
anderer Vorschlag ...
22.07.2020 10:37:37
Matthias
Hallo
Private Sub CommandButton1_Click()
On Error GoTo Fehler
Application.Goto Range("C5:C2350").Find(What:=Range("F4").Value), True
Exit Sub
Fehler:
MsgBox "Wert nicht vorhanden", vbInformation
On Error GoTo 0
End Sub
On Error Resume Next ignoriert den Fehler und macht weiter.
Evtl. ist das ja so nicht gewollt.
Lies dazu bitte auch:
https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/on-error-statement
Gruß Matthias
Anzeige
etwas optimiert
22.07.2020 10:46:22
Daniel
Hi
in dem Fall dann besser so, damit hat man dann auch gleich eine Methode, die für komplexere Programmieraufgaben tauglich ist:
Private Sub CommandButton1_Click()
dim Zelle as Range
Set Zelle =  Range("C5:C2350").Find(What:=Range("F4").Value)
if Zelle Is Nothing then
msgbox "Wert nicht vorhanden"
else
Application.Goto Zelle, true
End if
End Sub
Gruß Daniel
AW: etwas optimiert
22.07.2020 11:07:11
Andreas
Hallo, danke für die weiteren Vorschläge mir ist aber leider noch aufgefallen das keine durch Formel erzeugten Werte gefunden werden. Gibt es dafür noch eine Lösung? Das wäre Perfekt Danke für einen Vorschlag. Gruß, Andreas
Anzeige
AW: etwas optimiert
22.07.2020 11:23:22
Daniel
Hi
das .FIND entspricht der Menüfunktion SUCHEN.
Da kann man eine ganze Reihe von Einstellungen machen, welche auch Einfluss auf das Suchergebnis haben.
So kann man beispielsweise einstellen, ob in den Formeltexten oder in den Formelergebnissen gesucht werden soll. (das wäre ja für dich relevant)
man muss diese Einstellungen nicht alle angeben (du gibst ja nur den Suchwert an), aber wenn man sie nicht angibt, muss VBA irgendeine Einstellung annehmen, das können immer gleiche Standardwerte sein, aber im Fall von .FIND ist es so, dass bei bei nicht angegebenen Einstellungen die Einstellung der letzten Suche übernommen wird.
Daher sollte man bei .FIND nicht nur den Suchbegriff angeben, sondern mindestens auch noch die Einstellungen LookAT (ganzen Zellinhalt vergleichen oder nur Teile) und LookIn (Suchen in Formeln oder in Formelergebnissen) um nicht von Zufall abhängig zu sein ob die Suche funktioniert oder nicht.
wie das genau geht, kannst du in der Hilfe nachlesen (Cursor auf .Find setzen und F1 drücken) oder wenn du mal von Hand ein paar Suchen mit unterschiedlichen Einstellungen durchführst und das ganze mit dem Recorder aufzeichnest, dann kannst du dir den aufgezeichneten Code anschauen und diesen für die verschiedenen Einstellungen vergleichen.
Gruß Daniel
Anzeige
AW: etwas optimiert
22.07.2020 12:41:09
Andreas
Danke für die ausführlichen Infos. Werde ich mich mit befassen und sicherlich wieder einiges dazu lernen. Gruß Andreas

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige