Dear colleagues,
Recently I've been trying to adapt a search code that I've found to try to find a word in a worksheet.
The code is meant to find, and select all cells that contains the text from an inputbox.
Code :
Private Sub CommandButton3_Click()
Dim ThisAddress$, Found, FirstAddress
Dim Lost$, N&, NextSheet&
Dim CurrentArea As Range, SelectedRegion As Range
Dim Reply As VbMsgBoxResult
Dim FirstSheet As Worksheet
Dim Ws As Worksheet
Dim Wks As Worksheet
Dim Sht As Worksheet
Set FirstSheet = ActiveSheet
Lost = InputBox(prompt:="Cuvinte cheie", _
Title:="Cuvinte cheie:")
If Len(Trim(Lost)) = 0 Then End
For Each Ws In Worksheets
Ws.Select
With ActiveSheet.Cells
Set FirstAddress = .Find(What:=Lost, LookIn:=xlValues)
If FirstAddress Is Nothing Then '< blank sheet
GoTo NextSheet
End If
FirstAddress.Select
With Selection
Set Found = .Find(What:=Lost, LookIn:=xlValues)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And Found. _
Address <> FirstAddress
End If
End With
Reply = MsgBox("Acesta este " & Lost & " pe care il cautai?", _
vbQuestion + vbYesNoCancel, "Selectie activa")
Set Found = .Find(What:=Lost, LookIn:=xlValues)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And Found. _
Address <> FirstAddress
End If
Set FirstAddress = .Find(What:=Lost, LookIn:=xlValues)
If Reply = vbCancel Then End
If Reply = vbYes Then
Set SelectedRegion = Selection
GoTo Finish:
End If
ThisAddress = FirstAddress.Address
Set CurrentArea = Selection
Do
If Intersect(CurrentArea, Selection) Is Nothing Then
With Selection.Interior
End With
With Selection
Set Found = .Find(What:=Lost, LookIn:=xlValues)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And Found. _
Address <> FirstAddress
End If
End With
Reply = MsgBox("Acesta este " & Lost & " pe care il cautai?", _
vbQuestion + vbYesNoCancel, "Current Region")
Set Found = .Find(What:=Lost, LookIn:=xlValues)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And Found. _
Address <> FirstAddress
End If
Set FirstAddress = .Find(What:=Lost, _
LookIn:=xlValues)
If Reply = vbCancel Then End
If Reply = vbYes Then
Set SelectedRegion = Selection
GoTo Finish:
End If
End If
If CurrentArea Is Nothing Then
Set CurrentArea = Selection
Else
Set CurrentArea = Union(CurrentArea, Selection)
End If
Set FirstAddress = .FindNext(FirstAddress)
FirstAddress.Select
Loop While Not FirstAddress Is Nothing And FirstAddress. _
Address <> ThisAddress
End With
NextSheet:
Next Ws
Finish:
If Reply = vbYes Then
Exit Sub
Else
FirstSheet.Select
MsgBox "Search Completed - Sorry, no more " & Lost & "s", _
vbInformation, "No Region Selected"
End If
End Sub
The only problem that I have is that I want to add a condition in it, and I don't know how.... I want the code to skip selecting valid cells (cells that have the inputbox word in them), that have the text size <10 . Recapping, now the code selects and displays all cells that have the inputbox word in them, but I want it to select just the ones that have the text size > 10. Any ideas would be appreciated.
Warm regards,
Eugeniu
Bookmarks