Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por claudioventura2018 05 Nov 2018 às 23:00
Membro Novato
Mensagens: 4
Reputação: 1
#38307
Boa noite,segue em anexo uma planilha que nosso amigo Luiz Porto me ajudou , esta otima mas eu gostaria de automatizar a colocação das datas . eu inseri manualmente e gostaria que fosse automatica.
são 12 planilhas de janeiro a dezembro , eu coloco a data na celula ( K 1 ) na proxima sera na ( K 45 ) um intervalo de 44 linhas as datas são de segunda a sabado ( exclui domingo e feriado )
grato
Apenas usuários registrados podem ver ou baixar anexos.
Por osvaldomp 05 Nov 2018 às 23:36
Membro 5 Estrelas
Mensagens: 837
Reputação: 409
#38308
1. coloque em uma das planilhas a lista dos feriados de 2019, e nos informe a localização

2. na planilha DEZ você formatou a coluna L para receber as datas. Confirma ?
Por claudioventura2018 06 Nov 2018 às 22:03
Membro Novato
Mensagens: 4
Reputação: 1
#38333
Boa noite segue em anexo a mesma planilha com uma de ( feriado 2019 ) e realmente na planilha de dezembro a data ficou na coluna L
Apenas usuários registrados podem ver ou baixar anexos.
Por osvaldomp 07 Nov 2018 às 01:12
Membro 5 Estrelas
Mensagens: 837
Reputação: 409
#38339
claudioventura2018 escreveu:... e realmente na planilha de dezembro a data ficou na coluna L


É a única diferente, é pra ficar na L ou foi engano ?
Por osvaldomp 07 Nov 2018 às 16:05
Membro 5 Estrelas
Mensagens: 837
Reputação: 409
#38365
Experimente:

Código: Selecionar todosSub InsereDatas()
 Dim i As Long, k As Long, d As Date, m As Long
  For i = 1 To 12
   With Sheets(i)
    For k = 1 To Day(DateSerial(2019, i + 1, 0))
      d = DateSerial(2019, i, k)
       Do Until Weekday(d, 2) < 7 And Application.CountIf(Sheets("Feriado 2019").[A:A], d) = 0
        d = d + 1: k = k + 1
       Loop
       If i < 12 Then .Cells(m + 1, 11) = d Else .Cells(m + 1, 12) = d
       m = m + 44
    Next k
   End With
   m = 0
  Next i
End Sub


20/11/2019 Consciência Negra