Fabio, a rotina que o pfarias indicou ao localizar a ocorrência preenche a cor das celulas adjacentes de acordo com a cor que já está na celula localizada:
ActiveCell.Offset(0, -3).Range("A1:D1").Interior.Color = ActiveCell.Interior.Color.
Se entendi conforme seu post anterior, todas as celulas de seu modelo não estão com as cores
Quanto a suas perguntas :
Pelo que eu entendi preciso rodar a macro que você criou depois depois da minha ne?
Se suas celulas estão todas em branco, SIM tem de rodar a sua primeiro e depois a dele.
Tentei incluir os outros motivos conforme você disse mas não deu certo.
Neste caso, ele havia criado uma Matriz com dois itens somente Dim Mtz(2), se adicionar mais tem de alterar este numero de acordo com a qde adicionada e numerar cada uma, não podendo ter repetidas, se adicionou 9, acrescente Mtz(1), Mtz(2), Mtz(3)........Mtz(9)
Se eu colocar o número da cor depois de .Interior.Color = consigo fazer tudo funcionar em apenas uma rotina?
Se todas as celulas da planilha não estão coloridas e você quiser utilizar das cores que você definiu na sua rotina e utilizar somente uma rotina, o ideal é definir variaveis e acrescentar uma matriz de cores, desta forma aproveitando a rotina do pfarias fiz uma adaptação, teste e veja se é isto:
Sub VeseFunciona2()
Application.ScreenUpdating = False
'Se quiser colocar inserir mais itens é só colocar aqui em baixo
'Se acrescentar mais itens tem de alterar tambem o numero da matrz (9) e cor (5)
Dim Mtz(9) 'matriz com 9 itens
Dim sCor(5) 'matriz das 5 cores
'Matriz dos resultados
Mtz(1) = "AGUARDANDO RETORNO OP" '= sCor(1)
Mtz(2) = "CONCLUIDO MOT1" '= sCor(2)
Mtz(3) = "CONCLUIDO MOT2" '= sCor(3)
'Mtz 4 a 6 são as mesmas cores
Mtz(4) = "CONTATADO, MAS NÃO OP" '= sCor(4)
Mtz(5) = "NÃO ATENDE OU AVISO" '4= sCor(4)
Mtz(6) = "SEM CONTATO" '= sCor(4)
'Mtz 7 a 9 são as mesmas cores
Mtz(7) = "FORA DE ÁREA DE SERVIÇO" '= sCor(5)
Mtz(8) = "TEL DE TERC" '= sCor(5)
Mtz(9) = "TEL FORA DE USO OP" '= sCor(5)
'Tabela de cores de preenchimento
sCor(1) = 10092543
sCor(2) = 16763904
sCor(3) = 6736896
sCor(4) = 49407
sCor(5) = 5263615
For y = 1 To UBound(Mtz)
For x = 1 To Application.CountIf(Cells, Mtz(y))
Cells.Find(what:=Mtz(y), After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
'Colorir conforme a tabela de cores e resultado
Select Case y
Case 1
ActiveCell.Offset(0, -3).Range("A1:D1").Interior.Color = sCor(1)
Case 2
ActiveCell.Offset(0, -3).Range("A1:D1").Interior.Color = sCor(2)
Case 3
ActiveCell.Offset(0, -3).Range("A1:D1").Interior.Color = sCor(3)
Case 4 To 6
ActiveCell.Offset(0, -3).Range("A1:D1").Interior.Color = sCor(4)
Case 7 To 9
ActiveCell.Offset(0, -3).Range("A1:D1").Interior.Color = sCor(5)
End Select
Next
Next
Application.ScreenUpdating = True
MsgBox "Concluido!", vbInformation
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 20/08/2015 8:32 pm