Notifications
Clear all

Macro para pular linha sob certa condição

2 Posts
2 Usuários
0 Reactions
623 Visualizações
(@melop)
Posts: 1
New Member
Topic starter
 

Olá,

Escrevi uma macro/módulo em forma de função para copiar a data da célula 'O1' e acrescentar 1 dia a mais a cada nova célula da coluna A a partir da célula 'A9' até que seja atingida a data limite contida na célula 'O6' e também para inserir uma linha ao encontrar certo dia específico de uma data que o usuário digita na célula S2.

Por algum motivo que desconheço a função não retorna nenhum valor. Por favor, caso desconfiem de algo me comuniquem.

A função que fiz no módulo da planilha foi:

Public Function IntervaloMes(dDataX As Date) As Boolean



Dim i As Integer
Dim j As Integer
Dim inicioDate As Date
Dim finalDate As Date
Dim refDate As Date
Dim seguinteDate As Date


incioDate = DateValue(dDate)
finalDate = Range("O6").Value
i = 9
refDate = Day(Cells(2, 19))


Do While inicioDate <> finalDate
    
    If Cells(i, 1).Value <> "" Then
        
        seguinteDate = DateAdd("d", 1, inicioDate)
        Cells(i + 1, 1).Value = seguinteDate

        If Day(seguinteDate) = refDate Then
            
            For j = 1 To 10
                Cells(i, j).Value = ""
            Next j
        End If
    Else
        seguinteDate = DateAdd("d", 2, inicioDate)
        Cells(i + 1, 1).Value = seguinteDate
    End If


    i = i + 1
    inicioDate = seguinteDate
Loop

End Function
 
Postado : 20/10/2017 10:50 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

melop,

Boa tarde!

Seja muito bem vindo ao fórum. Como você não se apresentou, estou inserindo abaixo, links importantes sobre as regras do fórum que gostaria de sugerir a sua atenta leitura.

Isso propiciará aproveitar ao máximo o fórum e sempre manter o mesmo de forma organizada, sugiro ler os tópico da sregras abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Da próxima vez que postar códigos VBA aqui no fórum, solicitamos, por gentileza, utilizar a TAG CODE que fica logo acima da caixa de mensagens.

Quanto à sua dúvida, não cheguei a examinar todo o código da sua função, todavia, a priori, percebi que existe uma variável (dDate) que não foi definida, logo no início da sua função, na linha

incioDate = DateValue(dDate)

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 20/10/2017 1:11 pm