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.
Por RODRIGOCASTRO
#21905
Boa tarde, tenho uma planilha voltada a controle de produçao, nessa planilha tenho alguns dados que serao inseridos manualmente, porem nos campos, "data inicio", "hora inicio", "data termino" e "hora termino", quero que na hora em que seja "clicado" no botao iniciado, seja inserido automaticamente a data e hora de inicio, cada um na celula correspondente, e a mesma funçao quando "clicado" em finalizado, ressalto tambem que preciso que quando clicado, seja preenchido a hora e data e que nao seja mais alterado, que é o caso de quando usamos a formiula "=agora()".. Sera que alguem consegue me ajudar.. Anexei a planilha para melhor visualizacao, os campos que preciso que seja alterado estao mesclados de vermelho e amarelo.. Obrigado!
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#21909
Olá, Rodrigo.

A forma como você fez, colocando "Caixas de Seleção" (que você chamou de botões) para sinalizar início e fim, torna difícil uma solução pois é necessário que a macro identifique qual "Caixa" foi marcada.

Uma outra ideia seria simplesmente selecionar a célula da coluna 'E' para sinalizar o início e a célula da coluna 'G' para sinalizar o fim de determinada peça. Outra opção seria dar duplo clique na célula. Em ambas, pode ser criada uma caixa de mensagem pedindo confirmação da operação de início e de término. Há interesse?
Por RODRIGOCASTRO
#21913
Boa tarde Osvaldo,

Preciso de uma maneira que possa controlar inicio e fim das peças, se conseguir me explicar por favor a maneira que sugeriu com certeza tentarei.. Obrigado..
Por osvaldomp
#21915
Olá, Rodrigo.

Seguem duas sugestões.

opção1 - dispara o código ao selecionar uma célula da coluna 'E' ou da coluna 'G'
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column <> 5 And Target.Column <> 7 Or Target.Locked = True Then Exit Sub
 If MsgBox("Confirma o lançamento de data e hora?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
 Me.Protect "SuaSenha", UserInterFaceOnly:=True
 Target.Value = Date: Target.Offset(, 1) = Time
 Target.Locked = True: Target.Offset(, 1).Locked = True
End Sub
opção2 - dispara o código ao aplicar duplo clique em uma célula da coluna 'E' ou da coluna 'G'
Código: Selecionar todos
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Target.Column <> 5 And Target.Column <> 7 Or Target.Locked = True Then Exit Sub
 If MsgBox("Confirma o lançamento de data e hora?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
 Me.Protect "SuaSenha", UserInterFaceOnly:=True
 Target.Value = Date: Target.Offset(, 1) = Time
 Target.Locked = True: Target.Offset(, 1).Locked = True: Cancel = True
End Sub
1. funcionamento - o código irá inserir a data na célula selecionada/clicada e a hora na célula à direita, e irá bloquear ambas as células
2. preparação da planilha - antes de instalar um dos códigos, em uma planilha vazia, coloque os títulos de coluna na linha 1 (desejável que essas células sejam protegidas) e só isso (nunca mescle células)
3. não utilize os dois códigos simultaneamente na mesma planilha
4. coloquei nos códigos um comando para exibir uma caixa de mensagem pedindo a confirmação da operação, se desejar inibir a caixa coloque um apóstrofo no início da linha ('If MsgBox ...)
5. substitua a senha no código se desejar
6. lembrando que para impedir o fácil acesso de outros usuários ao editor de VBA, onde a senha poderá ser vista, proteja o Projeto VBA ---> Ferramentas / Propriedades / Proteção
7. para instalar os códigos:
Instale o código no módulo da planilha, assim:
a. copie o código daqui
b. clique com o direito na guia da planilha de interesse e escolha 'Exibir código'
c. cole o código na janela em branco que vai se abrir
d. feito! 'Alt+Q' para retornar para a planilha e testar
Por RODRIGOCASTRO
#21916
Bom dia Osvaldo,

fiz todo o passo a passo que vc me indicou e nao acontece nada quando usei qualquer um dos dois codigos.. Anexei a nova planilha teste se voce quiser dar uma olhada.. Obrigado..
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#21922
Rodrigo, desculpe, faltou dizer para você desbloquear as células.

Selecione toda a planilha (clique no pequeno retângulo à esquerda da letra que identifica a coluna 'A'), clique com o direito sobre qualquer parte da planilha ---> Formatar células / Proteção / desmarque Bloqueadas / OK
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