Processos no Microsoft 365 para configurar aplicativos do Office, resgatar chaves de produto e ativar licenças.
EMAIL REMOVED
Mande nesse email
Wesley
Não há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
bom dia
Mais uma vez peço a vossa ajuda, todos mos meses crio uma planilha com varios calculos e que tem macros, basicamente o que faço é uma copia do mes anterior e elimino os dados e colo os novos dados,o meu problema é que tenho uma serie de macros gravadas automaticamente pelo excel, pois eu não percebo muito de VBA,e o nº de linhas pode ser maior ou menor de mes paar mes, como posso fazer para que as formulas que são efectuadas pelas macros so sejam copiadas até ao final e não alem deste, porque depois irão aparecr uma erie de erros que não termitem calculo, e como posso fazer se num determiado mes houver mais linhas que as que foram seleccionadas quando a macro foi criada.
Não sei se fui explicito suficiente,mas...
Obrigada pela ajuda.
Processos no Microsoft 365 para configurar aplicativos do Office, resgatar chaves de produto e ativar licenças.
Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.
EMAIL REMOVED
Mande nesse email
Wesley
O que eu fiz foi fazer as formulas numa linha e depois copiar para todas as outras
Como faço para lhe enviar a Planilha?
Melhor é ver a planilha e os campos que vc deseja copiar
vc está copiando varias celulas para a mesma pasta
Mande a plnilha para EMAIL REMOVED
dai eu posso ajudar
talvez tenha outro caminho menos traumatico
Ok
Wesley
Sub InicioCalculoProdução_1()
'
' InicioCalculo Macro
'
'
Range("AL5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AL8").Select
ActiveSheet.Paste
Range("AM5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AM8").Select
ActiveSheet.Paste
Range("AO5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AO8").Select
ActiveSheet.Paste
Range("AP5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AP8").Select
ActiveSheet.Paste
Range("AR5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AR8").Select
ActiveSheet.Paste
Range("AS5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AS5:AT5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AS8").Select
ActiveSheet.Paste
Range("AL8:AT8").Select
Application.CutCopyMode = False
Selection.Copy
Range("AK9").Select
Range(Selection, Selection.End(xlDown)).Select
Range("AL10000:AT10000").Select
Range(Selection, Selection.End(xlUp)).Select
ActiveWindow.SmallScroll Down:=-20
ActiveSheet.Paste
ActiveWindow.ScrollRow = 10000
ActiveWindow.ScrollRow = 1
Range("AT8").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AT10").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWindow.ScrollRow = 10000
ActiveWindow.ScrollRow = 1
Application.CutCopyMode = False
Range("An8").Select
End Sub
Esta macro foi gravada automaticamente pelo excel, pois eu percebo pouco de VBA, o que faz é copiar uma serie de formulas que estão numa linha acima para as uma mais abaixo e eu tive que defenir para colar até a linha 10000 pois normalmente nunca passara esta linha, o problema é que quando é inferior copia até a 10000 e nas linhas que não tem dados nas primeiras colunas ficam com erros o que causa problemas com formulas de subtotal, obrigado a fazer filtros, o que ue pretendia neste caso era que apos colar os dados nas primeiras colunas a macro verificasse quantas linhas estavam preenchidas em qualquer das colunas atras e copiasse as formulas só ate esse limite.
Não sei se fui explicito.
em que parte da macro deveria colocar o codigo sugerido?
Obrigado
Cole as macros dai vc pode usar uma variável para ler até que linha está preenchidas
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
essas instruções seleciona a celula a1 e depois seleciona até a ultima linha preenchida e depois seleciona até a ultima coluna preenchida
Ok
Wesley