Hallo allemaal,
Op internet ben ik op zoek gegaan naar een macro die ik aan een button heb gehangen om zodoende een overzicht te krijgen van een bepaalde zoekactie. Onderstaande macro vond ik ergens op internet (weet ff niet meer waar
) Maar deze werkt niet correct. Welke specialist kan mij aangeven wat er precies mis is? De macro werkt 1x wanneer ik de waarde matchcase=false handhaaf (origineel) Ik wil deze echter op true hebben of ik moet ergens kunnen toevoegen dat ik in de hele werkmap op alle tabbladen binnen een bepaalde range kan zoeken)
De macro loopt mis op de vet gedrukte regel (volgens de foutopsporing)
Een voorbeeld van het excel document kan ik helaas niet toevoegen maar ik denk dat dit in deze ook niet nodig is.
Public Sub FindText()
Dim ws As Worksheet
Dim Found As Range
Dim myText As String
Dim FirstAddress As String
Dim AddressStr As String
myText = InputBox("Enter text to find")
If myText = "" Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
With ws
Set Found = .UsedRange.Find(what:=myText, LookIn:=xlValues, MatchCase:=True)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
AddressStr = AddressStr & .Name & " " & Found.Address & vbCrLf
Set Found = .UsedRange.FindNext(Found)
Loop While Not Found Is Nothing And Found.Address <> FirstAddress
End If
End With
Next ws
If Len(AddressStr) Then
MsgBox AddressStr, vbOKOnly, myText & " found in these cells"
Else:
MsgBox "Unable to find " & myText & " in this workbook.", vbExclamation
End If
End Sub
Op internet ben ik op zoek gegaan naar een macro die ik aan een button heb gehangen om zodoende een overzicht te krijgen van een bepaalde zoekactie. Onderstaande macro vond ik ergens op internet (weet ff niet meer waar

De macro loopt mis op de vet gedrukte regel (volgens de foutopsporing)
Een voorbeeld van het excel document kan ik helaas niet toevoegen maar ik denk dat dit in deze ook niet nodig is.
Public Sub FindText()
Dim ws As Worksheet
Dim Found As Range
Dim myText As String
Dim FirstAddress As String
Dim AddressStr As String
myText = InputBox("Enter text to find")
If myText = "" Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
With ws
Set Found = .UsedRange.Find(what:=myText, LookIn:=xlValues, MatchCase:=True)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
AddressStr = AddressStr & .Name & " " & Found.Address & vbCrLf
Set Found = .UsedRange.FindNext(Found)
Loop While Not Found Is Nothing And Found.Address <> FirstAddress
End If
End With
Next ws
If Len(AddressStr) Then
MsgBox AddressStr, vbOKOnly, myText & " found in these cells"
Else:
MsgBox "Unable to find " & myText & " in this workbook.", vbExclamation
End If
End Sub