Private Sub Worksheet_Change(ByVal Target As Range)
Dim bookName As String, authorName As String
Dim strStartColumn As String, strEndColumn As String
Dim intStartRow As Integer, intEndRow As Integer
Dim intRow As Integer
bookName = Range("G2")
authorName = Range("G3")
strStartColumn = "B"
strEndColumn = "D"
intStartRow = 2
intEndRow = 13
Range(strStartColumn & intStartRow & ":" & strEndColumn & intEndRow).Interior.Color = RGB(255, 255, 255)
For intRow = 2 To 13
If bookName <> "" And authorName <> "" Then
If InStr(Range("B" & intRow), bookName) > 0 And InStr(Range("C" & intRow), authorName) > 0 Then HighlightData strStartColumn, strEndColumn, intRow
ElseIf bookName <> "" Then
If InStr(Range("B" & intRow), bookName) > 0 Then HighlightData strStartColumn, strEndColumn, intRow
ElseIf authorName <> "" Then
If InStr(Range("C" & intRow), authorName) > 0 Then HighlightData strStartColumn, strEndColumn, intRow
End If
Next
End Sub
Private Sub HighlightData(strStartColumn As String, strEndColumn As String, intRow As Integer)
Range(strStartColumn & intRow & ":" & strEndColumn & intRow).Interior.Color = RGB(180, 0, 50)
End Sub