Eu fiquei em duvida, diz que está com dificuldade, mas não compreendi, sua rotina ja realiza a busca que deseja, então vou supor que está querendo colorir a celula A1 da plan1 tambem, outra situação, é que na rotina temos a linha :
MsgBox xlSheet.Name & "!" & xlCell.Address & " ja existe !" : Exit For
onde tem um Exit For, forçando a saida da rotina ao encontrar a primeira ocorrencia nos ranges definidos, se for isto tudo bem, mas se estiver querendo que pesquise todas as ocorrencias, tem de tirar o exit for, ficando :
MsgBox xlSheet.Name & "!" & xlCell.Address & " ja existe !"
Se for para colorir A1 na plan1 utilize a rotina abaixo:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xlRange As Range
Dim xlCell As Range
Dim xlSheet As Worksheet
Dim valueToFind
Dim sAchou As Boolean
'se alterar qq cel. dif. A1 interrompe a execucao
If Target.Address <> "$A$1" Then Exit Sub
valueToFind = Target.Value
Set xlSheet = ActiveWorkbook.Worksheets("plan2")
Set xlRange = xlSheet.Range("D5:D16")
For Each xlCell In xlRange
If xlCell.Value = valueToFind Then
xlCell.Interior.Color = vbRed 'colori a celula em vermelho
sAchou = True
'Se for pesquisar todas as ocorrencias apague : Exit For
MsgBox xlSheet.Name & "!" & xlCell.Address & " ja existe !": Exit For
End If
Next xlCell
'Pinta a celula A1 se achou valor igual
If sAchou = True Then Target.Interior.Color = vbYellow
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 01/08/2015 9:08 am