Ir ao conteúdo
  • Cadastre-se

Executar fórmulas via vba


Posts recomendados

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!

Link para o comentário
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

 

Link para o comentário
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.

 

Link para o comentário
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

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...