Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#57531
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.
Você não está autorizado a ver ou baixar esse anexo.
#57532
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
#57533
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
#57534
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord