O Intersect não funciona.
Dim NTit como intervalo Dim NInf como intervalo Dim NDat As Range
Dim WS como planilha Definir WS = ActiveSheet
Set NTit = WS.Range("$A$1:$J$1") Set NInf = WS.Range("$B$3:$F$3") Set NDat = WS.Range("$A$5:$K$11") NTit.Interior.Color = RGB(255, 0, 0) If Not Intersect(Target, NTit, NInf, NDat) Is Nothing Then
microsoft-excel
vba
Anao
fonte
fonte
Respostas:
o
Intersect
não está funcionando porque cada parâmetro deve ter uma célula ou células comuns. Não é uma situação de OR; é um AND. Você precisa essencialmente usarTarget AND (NTit OR NInf OR NDat)
. Isso pode ser feito combinandoIntersect
comUnion
.Isso parece que pode ser de um
Worksheet_Change
macro de eventos. Se esse for o caso, você não precisará declarar e atribuirWS
. Você poderia simplesmente usarME
como o objeto da planilha. Há outras melhorias que eu poderia sugerir, mas você poderia editar sua pergunta e postar mais do seu código antes que eu pudesse ver como isso se relaciona com outros fatores.fonte