Ir ao conteúdo

Posts recomendados

Postado

estou com um trecho de  código que funciona super bem quando especifico a coluna para fazer o autofill. mas no caso, como alteram a planilha e as vezes incluem colunas no meio dela, quero automatizar a minha parte inserindo meus calculos sempre ao final... sem precisar me preocupar se adicionaram 1 ou 10 colunas neste interim.

 

O codigo abaixo vai bem até a linha vermelha ou seja... ele identifica a ultima coluna preenchida, escreve o titulo e comeca o "calculo" na linha de baixo .porém na hora de fazer o AUTOFILL ele não funciona. 

 

alguém teria uma luz de como fazer autofill em uma coluna dinamica, sem que eu precise especificar que vai ser na AT ou AZ ou CB?

 

Vale ressaltar que a ação de cálculo - exemplifiquei 1 ( conta.se ) porém - ao final do codigo terei aproximadamente 8 calculos. Por isso a necessidade do AUTOFILL em colunas dinamicas. 

 

qq ajuda será bem vinda. 

Worksheets("Base214").Activate
    
    Dim ultima_linha As Long
    Dim LastColumn As Long
    Dim sht As Worksheet
    Dim StartCell As Range
    
    Set sht = Worksheets("Base214")
    Set StartCell = Range("A1")
    
    ultima_linha = Range("A" & Rows.Count).End(xlUp).Row
    ultima_coluna = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column


    Range("A1").Select
    Selection.End(xlToRight).Select
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "Classificacao"
    ActiveCell.Offset(1, 0).Select
    ActiveCell.FormulaR1C1 = _
    "=IF(COUNTIF(Suporte!R2C1:R22C1,Base214!RC12)>=1,""ADIANTAMENTO"",""padrão"")"
    Range("ultima_coluna").AutoFill Destination:=Range(ultima_coluna & ultima_linha)
    Range("A1").Select

 

Postado

Veja se ajuda.

Não mexi na fórmula. Se precisar de alteração e quiser ajuda >> coloque a fórmula correta em uma célula da linha 2 >> ligue o gravador de macro >> F2 >> Enter >> pare o gravador, depois coloque a fórmula gravada aqui para ajustes e descreva o que você quer que a fórmula retorne.

Sub InsereFórmulas()
 Dim ultima_linha As Long, ultima_coluna As Long
  With Sheets("Base214")
   ultima_linha = .Range("A" & Rows.Count).End(xlUp).Row
   ultima_coluna = .Cells(1, Columns.Count).End(xlToLeft).Column
   .Cells(1, ultima_coluna + 1) = "Classificacao"
   .Cells(2, ultima_coluna + 1).Resize(ultima_linha - 1) = _
   "=IF(COUNTIF(Suporte!R2C1:R22C1,Base214!RC12)>=1,""ADIANTAMENTO"",""padrão"")"
  End With
End Sub

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!