Notifications
Clear all

Código para inserir formula automaticamente

9 Posts
1 Usuários
0 Reactions
889 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Pessoal, solicito novamente a ajuda de vcs.

O código abaixo faz com que as formulas inseridas na coluna Z e AA sejam sempre copiadas para linha abaixo caso tenha dados na coluna B. Na figura em anexo existe formulas na coluna Z e AA na linha 6, com o codigo abaixo ele deveria inserir automaticamente as mesmas formulas nas outras linhas, porem nada acontece.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Columns("B:B")) Is Nothing Then

Application.MoveAfterReturnDirection = xlToRight
        
Dim Lin As Long
Lin = ActiveCell.Row - 5'Application.Calculation = xlCalculationManual 'Linha que acelera o procedimento
    Range("Z" & Lin).AutoFill Destination:=Range("Z" & Lin & ":Z" & Lin + 1), Type:=xlFillDefault
    Range("AA" & Lin).AutoFill Destination:=Range("AA" & Lin & ":AA" & Lin + 1), Type:=xlFillDefault
Application.Calculation = xlCalculationAutomatic 'Fim da Linha que acelera o procedimento
    
    
End If

End Sub

No link abaixo tem a imagem da planilha e do codigo para analise.
http://www.4shared.com/download/15P62s8 ... ?lgfp=3000

 
Postado : 27/03/2014 9:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Poste seu arquivo modelo compactado!!

Att

 
Postado : 27/03/2014 10:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandrevba, boa tarde.

Segue arquivo compactado:
http://www.4shared.com/rar/jKST0Wyhba/teste.html

A operação esta relacionada ao botao CONSULTA - OPERAÇÕES - {ultimo botao na pagina inicial}
Senha no botão: 6542

Ao abrir a plan tem um botao para filtrar as informações. Nas colunas Z e AA aparece na linha 6 a formula, nas demais linhas deveria aparecer tbm as formulas cfe contiver dados na coluna B

 
Postado : 27/03/2014 11:13 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpe....a planilha é esta:
http://www.4shared.com/rar/EVnEOJu0ba/A_-_teste.html

 
Postado : 27/03/2014 2:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá pessoal, alguém poderia me ajudar a resolver esse problema. Se alguem puder eu agradeço.

 
Postado : 01/04/2014 3:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Não entendi. A planilha a que se refere e a do auto filtro? Nas células de Z e AA não tem formula alguma

 
Postado : 02/04/2014 4:31 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Reinaldo, bom dia.

Realmente estava sem a formula. Segue anexo o arquivo com a formula. A ideia é automatizar a inserção das formulas cfe. tiver dados na coluna B.

Se, na col B (linha 6) em diante tiver dados
então
preencher com as formulas que estao APENAS na col Z (linha6) e na col AA (linha 6).
senão
Fica tudo em branco

http://www.4shared.com/file/BbSmCYlHba/planilhando.html

 
Postado : 02/04/2014 9:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Experimente as seguintes alterações, e veja se lhe atende:
No modulo da planilha 13 altere ou exclua o seguinte rotina:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.Calculation = xlCalculationManual 'Linha que acelera o procedimento

If Not Intersect(Target, Columns("B:B")) Is Nothing Then
Application.MoveAfterReturnDirection = xlToRight        
'Dim Lin As Long
'Lin = ActiveCell.Row - 0
'    Range("Z" & Lin).AutoFill Destination:=Range("Z" & Lin & ":Z" & Lin + 1), Type:=xlFillDefault
'    Range("AA" & Lin).AutoFill Destination:=Range("AA" & Lin & ":AA" & Lin + 1), Type:=xlFillDefault    
End If
Application.Calculation = xlCalculationAutomatic 'Fim da Linha que acelera o procedimento
End Sub

No modulo 11 altere a rotina copiar vendas conforme abaixo:

Sub Copiarvendas()
'Objetivo: Copiar da plan2 / Colar na Plan13
Sheets("Plan13").Range("B5:Y50000").ClearContents

Sheets("Plan2").Range("A1:X50000").AdvancedFilter Action:=xlFilterCopy, _
                        CriteriaRange:=Sheets("Plan13").Range("B2:Y3"), _
                        CopyToRange:=Sheets("Plan13").Range("B5:Y5"), _
                        Unique:=False
    'MsgBox "Consulta efetuada com sucesso!", vbInformation + vbOKOnly, "Consulta"
       
    'Range("B2").Select
Dim Lin As Long
Lin = Cells(Cells.Rows.Count, "B").End(xlUp).Row 'ActiveCell.Row - 0
    Range("Z6").AutoFill Destination:=Range("Z6:Z" & Lin + 1), Type:=xlFillDefault
    Range("AA6").AutoFill Destination:=Range("AA6:AA" & Lin + 1), Type:=xlFillDefault      
End Sub
 
Postado : 03/04/2014 8:06 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caro amigo Reinaldo. O B R I G A D O.

Fantástico, funcionou perfeitamente. Queria aproveitar aqui e mandar um abraço a todos os idealizadores desse site, vcs conseguiram criar um lugar fantástico, com gente fantástica. Obrigado a todos.

Reinaldo, eu deletei o módulo que estava na plan13 (não foi mais necessário) e alterei o módulo 11, inserindo sua rotina. O código funcionou explendidamente. O resultado foi maravilhoso.

Novamente meu muito obrigado.

 
Postado : 03/04/2014 9:33 am