Página 1 de 1

Macro copia e cola se duas células iguais

Enviado: 21 Mai 2022 às 05:09
por piasserpa
Bom dia,

Preciso de uma macro para copiar valores de uma célula para outras células quando outras 2 células forem iguais, passo a explicar o que preciso:

Na folha com o nome Gráfico_SDemand_22, quando o valor da célula D3 for igual ao valor da célula A3 da folha com o nome Targets, copia o valor da célula B27 da folha Gráfico_SDemand_22 e cola na célula D6 da folha Gráfico_SDemand_22.

Na folha com o nome Gráfico_SDemand_22, quando o valor da célula E3 for igual ao valor da célula A3 da folha com o nome Targets, copia o valor da célula B27 da folha Gráfico_SDemand_22 e cola na célula E6 da folha Gráfico_SDemand_22.

e continua a fazer o mesmo até à coluna O inclusive.

Re: Macro copia e cola se duas células iguais

Enviado: 21 Mai 2022 às 09:56
por osvaldomp
Olá, @piasserpa .
Experimente:
Código: Selecionar todos
Sub ReplicaDados()
 Dim k As Long
  Sheets("Gráfico_SDemand_22").[D6:O6] = ""
  For k = 4 To 15
   If Sheets("Gráfico_SDemand_22").Cells(3, k) = Sheets("Targets").[A3] And Sheets("Targets").[A3] <> "" Then
    Sheets("Gráfico_SDemand_22").Cells(6, k) = Sheets("Gráfico_SDemand_22").[B27]
   End If
  Next k
End Sub

Re: Macro copia e cola se duas células iguais

Enviado: 22 Mai 2022 às 04:56
por piasserpa
Olá osvaldomp,

Muito obrigado pela ajuda,
a macro que que me enviaste funciona, mas tive de retirar o comando Sheets("Gráfico_SDemand_22").[D6:O6] = "" porque este comando apaga todos os registos anteriores, após retirar este comando ficou a funcionar certinho.

Muito obrigado pela ajuda

Re: Macro copia e cola se duas células iguais

Enviado: 22 Mai 2022 às 09:26
por osvaldomp
piasserpa escreveu: 22 Mai 2022 às 04:56 ... mas tive de retirar o comando Sheets("Gráfico_SDemand_22").[D6:O6] = "" porque este comando apaga todos os registos anteriores,...
Olá, @piasserpa .

Quanto à retirada do comando, se você fizer alterações nas planilhas e rodar o código novamente, alguns resultados poderão ficar não conformes com o critério, por isso coloquei o comando para limpar o intervalo.

Exemplo: se após executar o código for feita alguma alteração em D3:O3 de Gráfico_SDemand_22 ou se for alterado o valor de Targets!A3, ao rodar o código novamente o resultado não atenderá ao critério.
Mas ... se ainda assim ficar bom pra você ...