Página 1 de 1

Macro para auto preencher datas em diversas planilhas

Enviado: 27 Jul 2020 às 18:12
por Stickdaleh
Boa noite,

Estou precisando montar uma macro ou até mesmo em formula de excel para autopreencher datas de acordo com os valores da data inicial informado em uma célula. Estava tentando fazer a macro mas por ter que ter formatação acabei me perdendo e decidi tentar com formulas.

O meu maior problema é que eu preciso fazer isso para 1000 abas, o ponto positivo, é que todas elas tem as informações no mesmo campo e estão em formatos idênticos, sendo possível, creio eu, automatizar esta tarefa.

Em anexo minha planilha que tentei através de formula, porém, esta não vai suprir minha necessidade, tendo em vista que as datas são diferentes para cada aba, sendo necessário puxar a formula de acordo com a data de cada aba.

Logo mais, chegarei em casa e posto minha macro caso queiram dar uma olhada também.

Grato pela atenção de todos,

Stickdaleh.

Re: Macro para auto preencher datas em diversas planilhas

Enviado: 28 Jul 2020 às 05:29
por osvaldomp
Experimente:
Código: Selecionar todos
Sub InsereDatas()
 Dim ws As Worksheet
  For Each ws In ThisWorkbook.Sheets
   ws.[A4] = ws.[E2]: ws.[A4].AutoFill ws.[A4].Resize(ws.[F2] - ws.[E2] + 1)
  Next ws
End Sub

Re: Macro para auto preencher datas em diversas planilhas

Enviado: 28 Jul 2020 às 10:39
por Stickdaleh
osvaldomp escreveu:Experimente:
Código: Selecionar todos
Sub InsereDatas()
 Dim ws As Worksheet
  For Each ws In ThisWorkbook.Sheets
   ws.[A4] = ws.[E2]: ws.[A4].AutoFill ws.[A4].Resize(ws.[F2] - ws.[E2] + 1)
  Next ws
End Sub

Obrigado osvaldomp!!
Como eu faria para ele colocar as bordas para as demais colunas e linhas? Para ficarem todas com a mesma formatação?
Outra coisa, ele ta fazendo por dia, precisava que conservasse o valor da data inicial, depois fosse para o primeiro dia de cada mês e aí iria subindo mês a mês até a data final.

Grato pelo seu breve retorno,

StickdaleH

Re: Macro para auto preencher datas em diversas planilhas

Enviado: 28 Jul 2020 às 12:04
por osvaldomp
Passei batido pelas datas. Corrigido abaixo. Desculpe.
Acrescentei as bordas.
Código: Selecionar todos
Sub InsereDatasV2()
 Dim ws As Worksheet, k As Long
  For Each ws In ThisWorkbook.Sheets
   k = DateDiff("m", ws.[E2], ws.[F2])
   ws.[A4] = ws.[E2]
   ws.[A5] = DateSerial(Year(ws.[E2]), Month(ws.[E2]) + 1, 1)
   ws.[A6].Resize(k).FormulaLocal = "=DATAM(A5;1)"
   ws.[A6].Resize(k).Value = ws.[A6].Resize(k).Value
   With ws.Range("A4:F" & ws.Cells(Rows.Count, 1).End(3).Row).Borders
    .LineStyle = xlContinuous: .Weight = xlThin
   End With
  Next ws
End Sub

Macro para auto preencher datas em diversas planilhas

Enviado: 30 Jul 2020 às 11:01
por Stickdaleh
Showw, era isso mesmo, sempre me perco nos loops, mas também não teria tal conhecimento ainda para fazer as manipulações de datas hehe.

Muito obrigado por seu tempo e atenção!