Ir ao conteúdo

Posts recomendados

Postado

Como eu faço para nesta macro fazer o loop, ou seja, conforme a coluna C for sendo preenchida a coluna A e B já ir preenchendo e não eu limitar ela "A2:A30" por exemplo. Outro ponto se tem uma maneira de a coluna A e B já ir preenchendo automática de acordo com a inserção de dados na Coluna C sem eu clicar no botão para iniciar.

Dia - mês e ano.rar

Postado

Sobre a inserção, você pode escrever sua macro nas sub rotinas de eventos da planilha.

 

A Sub Change, por exemplo, será executada quando houver alteração em alguma célula.

 

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

 

Postado

Infelizmente não consigo enviar sem compactação, visto que a mesma está com macro e não aceita esse tipo de arquivo aqui no anexo.

Postado

Coloque a macro no módulo Plan2.

 

A inserção será feita quando a coluna 3 for editada.

 

Você pode colocar um "On Error"  no código para evitar mensagem de erro se algum texto for digitado incorretamente.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Column = 3 Then
            .Offset(0, -1) = UCase(Format(.Value, "MMMM"))
            .Offset(0, -2) = Year(.Value)
        End If
    End With
End Sub

 

Postado
1 hora atrás, olliver.soul disse:

Olliver, muito obrigado pela atenção mas não consegui fazer funcionar, poderia colocar em um arquivo para eu analisar como ficou.

Obrigado

Postado
Em 14/11/2018 às 11:16, olliver.soul disse:
Em 16/11/2018 às 10:15, olliver.soul disse:

Segue a planilha com a macro

 

Dia - mês e ano.zip

Ficou perfeito era isso mesmo que eu queria, mas uma coisa para finalizar e se possivel me ajudar, quando eu copio datas a macro não aceita a mesma só aceita quando é digitado, teria como fazer a macro funcionar copiando as datas e não apenas digitando elas.

Obrigado

Postado

Teste essa macro, é só substituir no módulo Plan2.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim C   As Range
    
    With Target
        If .Column = 3 Then
            For Each C In Target
                C.Offset(0, -1) = UCase(Format(C.Value, "MMMM"))
                C.Offset(0, -2) = IIf(C.Value = "", "", Year(C.Value))
            Next C
        End If
    End With
End Sub

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...