Ir ao conteúdo
  • Cadastre-se
dafmg

Executar fórmulas via vba

Recommended Posts

Olá pessoal, por favor tenho uma planilha onde quero gravar as fórmulas em código (macro) e executar em determinada coluna quando eu atualizar o banco de dados. Ex.:

        A          B  

1   10/01    =mês(A1)

2   11/01    =mês(A2)

3   12/01    =mês(A3)

4   13/01    =mês(A4)

 

Então conforme vou inserindo informações em A5, A6, A7.... e clico em um botão, a formula que eu determinar (no caso exemplificado a formula mês) executa na coluna B somente onde tenho dados na coluna A.

 

Tenho uma planilha que tem muitas formulas em diversas colunas e quero fazer isso para: 1 - Proteger melhor minhas formulas, 2 - Diminuir a quantidade de células com formula, que pesa muito o arquivo.

 

Se puderem me ajudar agradeço muito!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Citação

Diminuir a quantidade de células com formula, que pesa muito o arquivo.

 

voce quer então inserir os valores através da função 'Mês' via vba?

Se for isso segue exemplo: 

Sub Executar_fórmulas_via_vba_()
    Dim rng As Range, c As Range, UL As Long

    With ActiveSheet
        UL = .Cells(Rows.Count, 1).End(xlUp).Row
        Set rng = .Range("A1:A" & UL)
        For Each c In rng
            If c <> "" Then
                If IsDate(c) Then c.Offset(, 1).Value = VBA.Month(c.Value) Else c.Offset(, 1).Value = ""
            Else
                c.Offset(, 1).Value = ""
            End If
        Next
    End With

End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado @Basole pela ajuda, na verdade é quase isso, o mês foi um exemplo, eu tenho diversas colunas com diversas formulas cada, que pretendo adicionar ao lado dos dados para do meu BD , comecei a pensar em colocar elas assim, com esse critério por exemplo:

 

(Coloquei para gravar a macro criei a formula na célula que queria e parei a macro)

 

    ActiveCell.FormulaR1C1 = "=VLOOKUP(VALUE(R[10]C[-12]&R[10]C[-11]),C7:C8,2,0)"

 

Então cada coluna tem uma formula diferente que quero poder personalizar adicionar ao código, informar em qual coluna vai ficar os resultados dessas formulas, pode até ser como R1C1 e conforme vou adicionando mais informações nas demais colunas da base, quando executar a macro, os valores das formulas que adicionei no código ficarão nas colunas ao lado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Citação

Diminuir a quantidade de células com formula, que pesa muito o arquivo.

 

@dafmg em um momento voce diz que quer eliminar, outro momento voce quer acrescentar as formulas ?

 

Não entendi direito o que voce quer. Post exemplo praticos com um modelo e alguns dados. 

 

Editado por Basole

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente está confuso, rs vamos lá:

 

      A                B          C          D                      

1   NOME      DIA       MÊS       OUTRA FORMULA

2  Maria         01/11      NOV           ?

3  Thiago       02/10     OUT           ?

4  Diego        03/09      SET           ?

5  João         A macro completa formulas

6

 

Tenho dados que eu insiro no meu banco de dados todos os dias, são 27 colunas de dados, exemplificado acima apenas pela coluna A, e ao lado desse banco tenho 26 colunas com fórmulas para tratar os dados, (procv, mês, semana, cont.se, soma.se, mediases e etc...) exemplificado acima pelas colunas B, C e D.

 

O que quero é armazenar essas 26 formulas em código, quando eu inserir meu banco de dados (coluna A acima) e rodar a macro (o joão é um exemplo de novo dado que inseri), ela vai executar as formulas das colunas B, C, D etc... e deixar só os valores, sem as formulas.

 

É possível isso? Acho que agora consegui explicar rs

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×