Boa noite, Sou novo no forum então saudações a todos! :ninja: Estou com uma duvida, preciso retornar na coluna D o valor que está na coluna B quando a célula em D for igual a 0 (deu pra entender?) só que usando replace da erro de sintaxe quando peço range.offser(0,-2).... como deveria escrever este código para retornar o que eu quero? segue o código abaixo para vocês terem uma idéia Sub Teste_Jabuticaba() ' Columns("D:D").Select Selection.Replace What:="0", Replacement:=Range.Offset(0, -2), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Eu consegui resolver este problema uisando " for each...in....next", só que dai demora muito pra executar a macro. Sei que deve ser algo bem básico mas eu estou estudando vba a apenas dois dias. Desde já obrigado.