Notifications
Clear all

Incluir data em formato texto com Caixa de Seleção

7 Posts
3 Usuários
0 Reactions
956 Visualizações
(@pedro-b)
Posts: 4
New Member
Topic starter
 

Estou com alguma dificuldade para fazer o seguinte:

Tenho uma planilha de check list de entrega e gostaria de usar uma Caixa de seleção para marcar a entrega do item listado e que quando esta caixa for marcada automaticamente seja incluída a data da alteração em formato de texto para que não seja alterada a cada vez que abrir o arquivo.
Tentei utilizar a dica abaixo (retirada de um outro site), mas isso não funciona para um recálculo na planilha.

Private Sub Worksheet_SelectionChange(ByVal Alvo As Range)
Dim limite_maximo As Integer
limite_maximo = 69
If Alvo.Cells.Count > 1 Or IsEmpty(Alvo) Then Exit Sub
If Alvo.Column <= 1 And Alvo.Row >= 2 And Alvo.Row <= limite_maximo Then
Application.EnableEvents = False
Alvo.Offset(0, 2).Value = Time()
Application.EnableEvents = True
End If
End Sub

Eu consegui fazer uma macro para que isso aconteça, mas ele fica vinculado a cada uma das caixas de seleção e como vou incluir centenas delas, precisaria de uma macro "genérica", ou seja, que funcione com qualquer caixa inserida dentro de um intervalo pré definido.

Esta é a macro que criei. Se isso puder ser transformado em algo genérico seria muito interessante. Ela copia uma céluna da coluna ao lado da caixa de seleção e cola como texto.

Sub insere_data()
'' insere_data Macro
'

    Range("D4").Select
    Selection.Copy
    Range("E4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub

Obrigado!
Pedro

 
Postado : 18/04/2016 8:39 am
(@mprudencio)
Posts: 2749
Famed Member
 

Disponibilize o arquivo como modelo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 18/04/2016 8:57 am
(@pedro-b)
Posts: 4
New Member
Topic starter
 

Disponibilize o arquivo como modelo.

Anexei uma planilha mais simplificada porque a que eu fiz está com algum problema para abrir. Devem ser as tentativas que eu fiz que acabaram causando algum problema.

Como podes ver na planilha eu inseri uma macro para cada caixa de seleção, mas como são centenas de caixas gostaria de fazer isso de uma forma mais rápida e sem ter que criar uma macro para cada caixa.

O que acontece na planilha é o que eu desejo que aconteça. Quando marco com o mouse uma caixa de seleção a data da alteração seja informada ao lado.

Obrigado!

 
Postado : 18/04/2016 9:42 am
(@mprudencio)
Posts: 2749
Famed Member
 

Se e apenas para inserir a data nao tem necessidade da checkbox... basta uma macro que insira a data com dois cliques por exemplo.

Neste exemplo a data e inserida apenas na coluna A caso vc de dois cliques em qualquer celula da coluna é so ajustar as demais.


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Column = 1 Then
ActiveCell.Value = Date
ActiveCell.Offset(0, 2).Select
End If
End Sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 18/04/2016 11:07 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Pedro B,

Vê se ajuda.

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/04/2016 11:30 am
(@pedro-b)
Posts: 4
New Member
Topic starter
 

Obrigado aos colegas

 
Postado : 18/04/2016 11:47 am
(@pedro-b)
Posts: 4
New Member
Topic starter
 

Obrigado ao MPrudêncio e ao Bernardo pelas respostas.

Pedro.

 
Postado : 18/04/2016 11:48 am