Bom Dia Copa, talvez seja resquícios da passagem de ano, então nao sei se entendi corretamente
Veja se lhe auxilia:
a rotina abaixo é para verificar se o nome daplanilha está de acordo com a celula m15, se não altera.
Private Sub Worksheet_Change(ByVal Target As Range)
'Declaração de variaveis
Dim nMeses(12) As String, nPlan As String
'Carregando os meses do ano
nMeses(1) = "Janeiro"
nMeses(2) = "Fevereiro"
nMeses(3) = "Março"
nMeses(4) = "Abril"
nMeses(5) = "Maio"
nMeses(6) = "Junho"
nMeses(7) = "Julho"
nMeses(8) = "Agosto"
nMeses(9) = "Setembro"
nMeses(10) = "Outubro"
nMeses(11) = "Novembro"
nMeses(12) = "Dezembro"
If Target.Address = "$M$15" Then
'Montando nome da Planilha
nPlan = nMeses(Month(ActiveSheet.Range("M15"))) & "-" & Format(Year(ActiveSheet.Range("M15")), "yy")
'Verifica se nome é igual ao montado, altera se necessario
If ActiveSheet.Name <> nPlan Then ActiveSheet.Name = nPlan
End If
End Sub
A rotina abaixo, irá copias a range desejada e incluir na primeira linha da planilha acumulado
Sub CopiaRange()
Dim sh As Shape
Application.ScreenUpdating = False
'Seleciona e coia range desejada
Range("A1:BJ108").Select
Selection.Copy
'Seleciona planilha para colar dados copiados
Sheets("acumulado").Select
Rows("1:1").Select
'Insere as linhas copiadas, assim a ultima copia fica sempre na primeira linha
Selection.Insert Shift:=xlDown
'"Apaga" as formulas, mantendo apenas os dados
Range("A1:BJ108").Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
'Apaga o botão de macro na planilha acumulado
With Sheets("Acumulado")
For Each sh In .Shapes
If sh.Name Like "Button*" Then sh.Delete
Next
End With
'"Volta" à planilha inicial
Sheets(1).Select
Range("A1").Select
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 02/01/2015 8:49 am