rafai Posted May 18, 2009 at 11:12 AM Report #265026 Posted May 18, 2009 at 11:12 AM Bom dia! Worksheets("Folheto_Imprimir").Activate For linha = 1 To 5000 If Cells(linha, 1) <> "" Then yy = yy + 1 End If Next linha End If valor = Cells(yy, 1) + valor Cells(yy, 1) = valor Tenho este código Tenho este código que me verifica quais as células preenchidas e escreve um valor na próxima célula vazia. Até aqui tudo bem. Mas eu preciso que para além disso a macro me leia o valor da última célula preenchida e para somar outro valor definido. Não estou a conseguir isto escreve sempre o mesmo valor. Desde já agradeço a ajuda. Obrigado!
MetalFatigue Posted May 20, 2009 at 02:03 PM Report #265804 Posted May 20, 2009 at 02:03 PM Dim TotalLinhas As Long 'Verifica quantas linhas tem a coluna para dar tanto para o 2007 como anteriores 'substitui A:A pela coluna que te interessa TotalLinhas = Range("A:A").Count 'Vai buscar o valor da ultima celula Dim valorUltimaCelula As Variant 'Ou outro se souberes que tipo sao os valores Range("A" + CStr(TotalLinhas)).End(xlUp).Select 'Coloca o valor por baixo da ultima celula valorUltimaCelula = ActiveCell.Value ActiveCell.Offset(1, 0).Value = valor Esta forma é melhor do que a que tens a percorrer todas as celulas. Básicamente Selecciona a ultima celula da coluna e vai buscar a 1ª celula para cima que se encontra preenchida. Depois vai buscar o seu valor e por fim desloca-se para baixo de forma a colocar o valor que pretendes. cumprimentos
rafai Posted May 20, 2009 at 03:55 PM Author Report #265849 Posted May 20, 2009 at 03:55 PM Obrigado amigo! Vou testar e depois digo alguma coisa. 😄
jtiagodias Posted June 4, 2009 at 03:04 PM Report #269900 Posted June 4, 2009 at 03:04 PM Excelente código... Esta é uma daquelas soluções a que chamo "a solução inteligente". Faço macros por curiosidade e para ajudar em alguns ficheiros no âmbito profissional e, por isso mesmo, não conheço todos os atributos das fórmulas.. Fazia isto com 2 ciclos for... Parabéns e obrigado.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now