Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1484to1488
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

nach BEZUG in Bereich suchen per Makro

nach BEZUG in Bereich suchen per Makro
31.03.2016 02:17:46
Gisela
Hallo,
ich will nach dem Begriff BEZUG in einem festgelegten Bereich hier O19 bis EO9992 per Makro in den Werten suchen lassen:
Sub Bezugsuchen()
Range("O19:EO9992").Select
Selection.Find(What:="BEZUG", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
End Sub
Jedoch gibt er immer einen Fehler aus, dass eine Objekt-Variable nicht gefunden wird kann. Wie/was muss ich debuggen?
Beste Grüsse
Gisela

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nach BEZUG in Bereich suchen per Makro
31.03.2016 08:20:00
EtoPHG
Hallo Gisela,
Ich nehme an, dass du nach BEZUG-Fehlern suchen möchtest. Das funktioniert so nicht, weil diese Zellen zwar #BEZUG! anzeigen, aber du kannst nicht 'textlich' danach suchen. Dies sind Fehlerwerte und das kannst du z.B. mit SpecialCells(xlCellTypeFormulas, xlErrors) bewerkstelligen.
Folgender Code in einem Tabellenblatt findet alle solchen Fehlerwerte:
Sub Fehlerwerte()
Dim rC
On Error Resume Next
For Each rC In UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells
MsgBox "Fehler in " & rC.Address & vbCrLf & _
"Formel: " & rC.FormulaLocal
Next rC
On Error GoTo 0
End Sub
Gruess Hansueli

Anzeige
AW: nach BEZUG in Bereich suchen per Makro
31.03.2016 22:27:14
Gisela
Hallo,
nach Deinem Makro passiert rein gar nichts...

AW: nach BEZUG in Bereich suchen per Makro
01.04.2016 08:19:11
EtoPHG
Hallo Gisela,
Das ist doch super. Wenn nichts passiert, dann hat es auch keine Bezugsfehler im getesteten Tabellenblatt. Aber wenn du deine Kommunikation gerade mal auf solche Häppchen wie obiges einschränkst, bin ich an einer weiteren Diskussion des Problems nicht mehr interessiert!
Gruess Hansueli

AW: nach BEZUG in Bereich suchen per Makro
01.04.2016 22:27:05
Gisela
Hallo Hansueli,
das Problem ist, dass er trotz #BEZUG!-Fehlern in der Arbeitsmasppe diese nicht findet und nach einer gefühlten Zehntelsekunde bereits mit seinen Berechnungen fertig ist...
Gruss
Gisela

Anzeige
AW: nach BEZUG in Bereich suchen per Makro
31.03.2016 09:39:01
Fennek
Hallo Gisela,
die einfachste Form ist:

Sub Gisela()
Dim rng as range
Set rng = range("O19:EO9992").find("Beginn")
Msgbox rng.address
End sub
Falls nötig kann man noch Parameter setzen, wie lookin:=xlpart oder ähnliches. Für wiederholtes Suchen gibt es 'findnext', die Syntax kannst du guggeln.
Mfg

AW: nach BEZUG in Bereich suchen per Makro
31.03.2016 22:22:13
Gisela
Hallo Fennek
Sub AAAAAABereichmarkieren()
Dim rng As Range
Set rng = Range("O19:EO9992").Find("BEZUG")
MsgBox rng.Address
End Sub
führt wieder zum Fehler wegen fehlender Objekt-Variable...

Anzeige
AW: Suchbegriff/ What:="#REF!"
31.03.2016 18:40:38
Gerd
Hallo Gisela,
wenn du den englischen Fehlerwert nimmst, kannst du durchaus wie vorgesehen mit der Find-Methode suchen.
Dann halt noch zusätzlich Lookat:=xlwhole setzen.
Gruß Gerd

AW: Suchbegriff/ What:="#REF!"
31.03.2016 22:28:53
Gisela
?
Was meinst Du genau...

AW: Suchbegriff/ What:="#REF!"
31.03.2016 23:04:05
Gerd
Aha Gisela, schwieriger Fall?
Sub Bezugsuchen2()
Dim Zelle As Range
Set Zelle = Range("O19:EO9992").Find(What:="#REF!", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not Zelle Is Nothing Then Zelle.Activate
End Sub

Gruß Gerd

Anzeige
AW: Suchbegriff/ What:="#REF!"
01.04.2016 03:10:10
Gisela
Hallo Gerd,
jetzt erscheint folgende Fehlermeldung:
Typenkonflikt (Fehler 13)...

AW: Suchbegriff/ What:="#REF!"
01.04.2016 07:19:42
Gerd
Hallo Gisela, o.K.,
das liegt aber an dem von dir übernommenen Argument After:=ActiveCell .
Diese muss im Bereich sein.
Sub Bezugsuchen3()
Dim Zelle As Range
Range("O19").Activate
Set Zelle = Range("O19:EO9992").Find(What:="#REF!", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not Zelle Is Nothing Then Zelle.Activate
End Sub

Gruß Gerd

Anzeige
AW: Suchbegriff/ What:="#REF!"
01.04.2016 22:52:09
Gisela
Hallo Gerd,
klappt jetzt hervorragend, vielen Dank!
Noch eine Frage:
Wenn er keinen Fehler findet, ist ja anschliessend O19 markiert, ich habe versucht RANGE("B1").SELECT als letzte Zeile dem Makro hizuzufügen, was dann bei nicht vorhandenem #BEZUG! auch funktioniert,sobald aber ein Bezugsfehler vorhanden ist, gibt er eine Fehlermeldung aus. Wie kann ich dieses Problem vermeiden?
VG
Gisela

AW: Suchbegriff/ What:="#REF!"
01.04.2016 22:58:38
Gisela
Hallo Gerd,
ich habe das Problem jetzt dadurch gelöst, dass ich die RANGE("B1").SELECT-Zeile einfach vor die Zeile IF NOT... geschoben habe...
Nochmals vielen Dank!
VG
Gisela
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige