Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
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
Inhaltsverzeichnis

VBA find function

VBA find function
07.07.2022 10:56:43
Chris
Hallo zusammen,
ich habe folgenden VBA Code geschrieben. Er hat auch gut funktioniert. Allerdings bekomme ich auf einmal einen Run Time error 91.
In dem Bereich:
Set finden = Sheet3.Range("A11:z100").Find(what:=Sheet3.Range("b3").Value)
Cells(finden.Row, finden.Column).Offset(3, 0).Activate
Finden soll den Inhalt einer Zelle finden: =C3&D3
Allerdings wird der Text daraus nicht mehr gefunden. Bis gestern hat es funktioniert
Wenn ich die Zelle mit dem zu suchenden Text und die Zelle mit dem zu finden Text mit =B4=I11 bekomme ich jedoch TRUE
Warum wird dann I11 nicht gefunden?
Vielen Dank
Mein Code:

Sub Filter()
Dim finden As Range
Sheet2.Range("A2").AutoFilter
Sheet2.Range("A2").AutoFilter 1, Sheet3.Range("G3").Value
Sheet2.Columns("A").Hidden = True
Sheet2.UsedRange.Offset(1, 0).Resize(Sheet2.UsedRange.Rows.Count - 1, Sheet2.UsedRange.Columns.Count).SpecialCells(xlCellTypeVisible).Copy
Sheet3.Activate
Set finden = Sheet3.Range("A11:z100").Find(what:=Sheet3.Range("b3").Value)
Cells(finden.Row, finden.Column).Offset(3, 0).Activate
ActiveSheet.Paste
Sheet2.Columns("A").Hidden = False
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA find function
07.07.2022 11:23:44
ralf_b
du prüfst das Ergebnis von find nicht ob es ein Objekt ist. Wenn nichts gefunden wird und du benutzt eine Objektvariable die Nothing ist ,dann gehts eben nicht.
Sheet3 muß nicht aktiviert werden wenn du Sheet3.Cells(finden.Row.... nutzt.
"bis gestern hats funktioniert" bedeutet Irgendetwas ist heute anders. Finde heraus was. Wir können das nicht. C3&D3 sind was? verbundene Zellen? versuche es mit C3 Wobei in deiner Beschreibung passen die Bezüge so gar nicht zusammen.

AW: VBA find function
07.07.2022 19:21:04
Yal
Hallo Chris,
wenn ich das richtig verstehe, das Filtern macht nur Sinn, wenn irgendwas gefunden wird.
Daher würde ich folgende Komplettlösung vorschlagen:

Sub Filter()
Dim Finden As Range
With Sheet3
Set Finden = .Range("A11:Z100").Find(what:=.Range("B3").Value)
End With
If Not Finden Is Nothing Then
With Sheet2
.Range("A2").AutoFilter
.Range("A2").AutoFilter 1, Sheet3.Range("G3").Value
.Columns("A").Hidden = True
.UsedRange.Offset(1, 0).Resize(.UsedRange.Rows.Count - 1, .UsedRange.Columns.Count).SpecialCells(xlCellTypeVisible).Copy
Finden.Offset(3, 0).Paste
.Columns("A").Hidden = False
End With
End If
End Sub
Finden ist ein Range und nach einer erfolgreichen Suche sogar eine Einzelzelle auf Sheet3.
Cells(finden.Row, finden.Column).Offset(3, 0).Activate
ActiveSheet.Paste

kann man daher mit
Finden.Offset(3, 0).Paste
abkürzen.
VG
Yal
Anzeige

154 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige