update code to highlight item is existed in column by inputbox

MKLAQ

Active Member
Joined
Jan 30, 2021
Messages
397
Office Version
  1. 2016
Platform
  1. Windows
hello

I would update this code after show message the item is found in specific row ,then should highlight item in column B , and if it shows the second message the item is not found ,then should not highlighted . with considering when run the inputbox from the first time before writing item then should delete color is already highlighted cells .

this code for Dave

VBA Code:
Sub CommandButton2_Click()
Dim Search          As Variant
Dim c               As Range
Dim sh              As Worksheet
Dim Response        As VbMsgBoxResult
   
Dim msg             As String, FirstAddress As String
Dim Prompts(1 To 2) As String, Prompt As String
   
Prompts(1) = "Serial number found On row(s) " & Chr(10) & Chr(10)
Prompts(2) = "Serial number Not found" & Chr(10) & Chr(10)
   
Set sh = ThisWorkbook.Worksheets("list1")
   
Do
'display inputbox
Do
Search = InputBox("Enter Search Number Value:", "Search")
'cancel pressed
If StrPtr(Search) = 0 Then Exit Sub
Loop Until Len(Search) > 0
If IsNumeric(Search) Then Search = Val(Search)

       
Set c = sh.Columns(2).Find(What:=Search, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False)
If Not c Is Nothing Then
FirstAddress = c.Address
msg = Prompts(1)
Do
msg = msg & c.Row & Chr(10)
Set c = sh.Columns(2).FindNext(c)

If c Is Nothing Then Exit Do
Loop Until FirstAddress = c.Address
Else
msg = Prompts(2) & Search & Chr(10)
End If
       
Response = MsgBox(msg & Chr(10) & "Do you want To make another search?", 36, "Results")
msg = ""
Loop Until Response = vbNo
   
End Sub
thanks
 

Excel Facts

What is =ROMAN(40) in Excel?
The Roman numeral for 40 is XL. Bill "MrExcel" Jelen's 40th book was called MrExcel XL.
Try this:

VBA Code:
Sub CommandButton2_Click()
  Dim Search          As Variant
  Dim c               As Range, rng As Range
  Dim sh              As Worksheet
  Dim Response        As VbMsgBoxResult
  Dim msg             As String, FirstAddress As String
  Dim Prompts(1 To 2) As String, Prompt As String
     
  Prompts(1) = "Serial number found On row(s) " & Chr(10) & Chr(10)
  Prompts(2) = "Serial number Not found" & Chr(10) & Chr(10)
  Set sh = ThisWorkbook.Worksheets("list1")
  Set rng = sh.Range("B:B")
  
  Do
    rng.Interior.Color = xlNone
    Do    'display inputbox
      Search = InputBox("Enter Search Number Value:", "Search")
      If StrPtr(Search) = 0 Then Exit Sub 'cancel pressed
    Loop Until Len(Search) > 0
    
    If IsNumeric(Search) Then Search = Val(Search)
    Set c = rng.Find(Search, , xlValues, xlWhole, xlByRows, xlNext, True)
    If Not c Is Nothing Then
      FirstAddress = c.Address
      msg = Prompts(1)
      Do
        c.Interior.Color = vbYellow
        msg = msg & c.Row & Chr(10)
        Set c = rng.FindNext(c)
      Loop While Not c Is Nothing And FirstAddress <> c.Address
    Else
      msg = Prompts(2) & Search & Chr(10)
    End If
           
    Response = MsgBox(msg & Chr(10) & "Do you want To make another search?", 36, "Results")
    msg = ""
  Loop Until Response = vbNo
End Sub
 
Upvote 0
Solution
fantastic ! just need fixing the header . the code deletes the color in header when delete the other cells
 
Last edited:
Upvote 0
just need fixing the header
Change this line:
VBA Code:
Set rng = sh.Range("B:B")

For this (Assuming the header is in row 1):
VBA Code:
Set rng = sh.Range("B2:B" & Rows.Count)
 
Upvote 0
I'm glad to help you. Thanks for the feedback.
 
Upvote 0

Forum statistics

Threads
1,215,069
Messages
6,122,959
Members
449,096
Latest member
Anshu121

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top