Ir para conteúdo
Fórum Script Brasil
  • 0

Fórmula Dinâmica usando VBA? POR FAVOR


Felipe Dragneel

Pergunta

Boa noite trabalho na área de almoxarifado e sempre que faço um inventário tenho fazer o relatório manual e estou tentando automatizar o processo, colocando fórmulas.exemplo tem uma coluna de diferença que é a quantidade inventariada menos a quantidade da data do inventário, faço essa fórmula na primeira linha da coluna só que na hora de deixar dinâmica não consigo,na gravação da macro eu aperto pra auto preencher pra todos de baixo,daí tentei usando variável na range só que ele não tá pegando o intervalo todo sempre fica faltando pegar as duas últimas linhas

Código é mas ou menos assim:

últimalinha=sheets (1).usedrange.rows.count

Autofill.range("A1":"A" & últimalinha)(esse autofill é um exemplo não lembro como faz ele sem gravar a macro)

Traduzindo o código acima pedindo pra ele aplicar a mesma fórmula da primeira linha com o preenchimento automático pra todas as de baixo de forma dinâmica,só que mesmo assim não dá certo, sempre as duas últimas linhas ficam sem a fórmula.

 

Alguém poderia me ajudar por favor!

Até mesmo no whatsapp pra tentar me explicar

 

85991706072

 

Segue aí o código todinho abaixo

Dim ULTIMALINHA As Variant


ULTIMALINHA = Sheets(2).UsedRange.Rows.Count

Application.ScreenUpdating = False

    Columns("A:A").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Columns("A:K").EntireColumn.AutoFit
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Rows("1:2").Select
    Range("A2").Activate
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "DATA:" & Date
    Range("A3").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    Range("J4").Select
    ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"
    ActiveCell.Copy
    Range(Selection, Selection.End(xlDown)).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("K3").Select
    Selection.Copy
    Range("L3").Select
    ActiveSheet.Paste
    Range("L3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "VALOR UNITARIO"
    Range("L4").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(RC[-1]/RC[-2],""0"")"
    Range("L4").Select
    Selection.AutoFill Destination:=Range("L4:L" & ULTIMALINHA), Type:=xlFillDefault
    Range("L4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.Style = "Currency"
    Range("K4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Style = "Currency"
    Range("K4").Select
    ActiveCell.FormulaR1C1 = "=RC[1]*RC[-1]"
    ActiveCell.Copy
    Range(Selection, Selection.End(xlDown)).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    
Application.ScreenUpdating = True

MsgBox "RELATÓRIO ESTÁ DINÂMICO COM FÓRMULAS", vbOKOnly, "SUCESSO"

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Boa noite @Felipe Dragneel

Você pode usar o range.FormulaR1C1 para definir a formula nas celulás sem precisar copiar a formulá.

Pensando a as colunas são E e F. 

Dim uLinha as Long
uLinha = Sheets("SuaPlanilha").cells(Rows.Count, "F").End(xlup).Row

Shests("SuaPlanilha").Range("G2:G" & uLinha).FormulaR1C1 = "=R[-2]C-R[-1]C"

Esse comando coloca a formulá de subtração em todas as linhas, olhando para a coluna F.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...