Notifications
Clear all

Ajuda - Macro não copia formula para a celula

6 Posts
2 Usuários
0 Reactions
1,210 Visualizações
(@wvarella)
Posts: 4
New Member
Topic starter
 

Bom dia,

Estou tentando colocar uma formula, em uma planilha com uma macro, ja fiz uma anteriormente, concatenando 2 celulas, e agora ela deve fazer uma vlookup, porém, o vba da um erro 1004 sempre que chega no ponto de colocar a formula na celula.
eu fiz a formula na celula e copiei para o VBA, transformei a celula em RC[] e troquei os ";" por ",", e ñ funciona de jeito nenhum.

Será que alguém pode me dar uma luz???

Obrigado.

Segue o código:

'Formula que concatena cod e sku
Range("C2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],RC[-1])"
Application.CutCopyMode = False
Selection.Copy
Selection.AutoFill Destination:=Range("C2:" & Cells(x, 3).Address)

'Formula Vlookup
Range("D2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=(IFERROR((VLOOKUP(RC[-1];'SKUposit'!$D:$D,1,0));0));""OK"";""NÃO POSITIVADO"")" <-------------- O PROBLEMA OCORRE NESSA LINHA!!!!
Application.CutCopyMode = False
Selection.Copy
Selection.AutoFill Destination:=Range("D2:" & Cells(x, 4).Address

 
Postado : 07/05/2013 9:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Não é usado ponto e virgula em VBA!!

ActiveCell.FormulaR1C1 = "=IF(RC[-1]=(IFERROR((VLOOKUP(RC[-1];'SKUposit'!$D:$D,1,0));0));""OK"";""NÃO POSITIVADO"")"

att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/05/2013 9:25 am
(@wvarella)
Posts: 4
New Member
Topic starter
 

Troquei todos os ; por , e continua travando na mesma linha!!!

ActiveCell.FormulaR1C1 = "=IF(RC[-1]=(IFERROR((VLOOKUP(RC[-1],'SKUposit'!$D:$D,1,0)),0)),""OK"",""NÃO POSITIVADO"")"

Vlw a tentativa!! rs

 
Postado : 07/05/2013 9:35 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sempre que possivel, de preferencia a utilizar formulalocal= "=SE(D18=SEERRO(PROCV(D18;SKUposit!$D:$D;1;0);0);"OK";"NÃO POSITIVADO")"

Tente assim: ActiveCell.FormulaR1C1 = "=IF(RC[-1]=IFERROR(VLOOKUP(RC[-1],SKUposit!C4,1,0),0),""OK"",""NÃO POSITIVADO"")"

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/05/2013 9:55 am
(@wvarella)
Posts: 4
New Member
Topic starter
 

Desse jeito, ele ñ pega o range da vlookup, q é: SKUposit!C4
eu substitui o C4 por D:D q é o range correto, mas, na hora q ele cola a formula na célula, fica assim SKUposit!D:(D) e ele só traz o valor da primeira célula, logo, tds ficam marcados como Não Positivado.

Só falta acertar o range e parece q vai funcionar.

Alguma idéia??

Desde já, mto obrigado!!!

 
Postado : 07/05/2013 10:44 am
(@wvarella)
Posts: 4
New Member
Topic starter
 

Consegui, o C4 é coluna 4, eu achei q ele fosse pegar a célula errada!!!

Funcionou!!!

Mto obrigado!

 
Postado : 07/05/2013 10:48 am