Ir ao conteúdo

Posts recomendados

Postado

Boa tarde amigos!

 

Estou desenvolvendo uma planilha no Excel para controle de KM (Odômetro) percorridos de vários veículos. Já comecei a planilha e estou anexando-a para que alguém possa me ajudar a terminá-la.  A planilha não tem muitas informações (ainda pretendo melhorá-la), mas estou com muita dificuldade em concluí-la. Nesta planilha, faço o lançamento dos veículos que estão saindo para o serviço e, posteriormente, é necessário continuar o lançamento dos mesmos veículos quando retornam do serviço. Para isso, criei três formulários na planilha, sendo um para cadastrar os veículos quando saem para o serviço ("CADASTRAR VEÍCULO"), outro para terminar de preencher o cadastro quando os veículos retornam ("DEVOLVER VEÍCULO") e por fim um formulário para alterar os dados, casa alguém lance um dado errado acidentalmente ("ALTERAR CADASTRO"). Contudo, somente consegui finalizar o primeiro formulário ("CADASTRAR VEÍCULO"). Neste formulário, eu realizo o lançamento de 04 campos (prefixo, matrícula, nome e odômetro) e outros dois campos (data e hora) a planilha já me fornece automaticamente conforme realizei na edição do formulário. Já os outros dois formulários não sei como fazer. Preciso que no formulário "DEVOLVER VEÍCULO" quando for preenchido o campo "prefixo" e pressionado a tecla Tab para mudar para o próximo campo “odômetro final” que aparecesse o odômetro inicial já cadastrado na planilha quando este veículo saiu para o serviço. Em seguida, o após preencher os campos “odômetro final” e “estado do veículo” e pressionar o botão “devolver” que os dados fossem armazenados na planilha na mesma linha em que foram armazenados quando foram cadastrados inicialmente, seguindo as colunas conforme a planilha do documento. E que os campos seguintes (data e hora) sejam preenchidos automaticamente, assim com o fiz no primeiro formulário. Por fim, que o terceiro formulário (“ALETERAR CADASTRO”) possa permitir alterar os dados já inseridos caso seja necessário (apenas os dados que constam no formulário). Neste formulário, basicamente somente seria possível alterar o último cadastro realizado. Quando pressionado o botão “pesquisar” o formulário rertomo os dados do último cadastro realizado para alteração.

 

Espero que tenham entendido. Tenho pouco conhecimento em VBA e necessito de ajuda para concluir este trabalho. Desde de já agradeço.

 

Obs: não consegui anexar o arquivo no formato xlsm, então anexei um documento com o link de compartilhamento da planilha.

 

Link para baixar a planilha.docx

  • Membro VIP
Postado

Boa tarde @Sandro Nobre

 

Coloquei um código que cria um formulário do próprio Excel que possui todas as ferramentas para Edição, alteração, exclusão, inclusão, etc.., que você precisa.

 

Não se esqueça de clicar em Curtir.

 

[]s

 

OBS.: Para anexar arquivos com macro, basta Zipar que o fórum aceita.

VEÍCULOS - CONTROLE.zip

  • Curtir 1
Postado
12 minutos atrás, Patropi disse:

Boa tarde @Sandro Nobre

 

Coloquei um código que cria um formulário do próprio Excel que possui todas as ferramentas para Edição, alteração, exclusão, inclusão, etc.., que você precisa.

 

Não se esqueça de clicar em Curtir.

 

[]s

 

OBS.: Para anexar arquivos com macro, basta Zipar que o fórum aceita.

VEÍCULOS - CONTROLE.zip 22 kB · 0 downloads

 

Agradeço pelo auxílio @Patropi. Contudo, não estava querendo um formulário automático, mas sim, preciso dos formulário do jeito que á montei a planilha. De qualquer forma agradeço pelo apoio.

Postado
6 horas atrás, Sandro Nobre disse:

Preciso que no formulário "DEVOLVER VEÍCULO" quando for preenchido ... assim com o fiz no primeiro formulário.

 

No arquivo anexado eu coloquei 3 códigos no módulo do Form Devolver_Veículo e substitui a TextBoxPrefixo por uma ComboBox. Isso deve atender a sua demanda que está reproduzida aí acima.

Com base nos códigos que coloquei tente desenvolver o que falta no Form Alterar_Veículo.

 

dicas

1. na coluna C da planilha original os valores estão como texto, aperte F2 e em seguida aperte Enter para inseri-los como números (no arquivo anexado estão corrigidos)

2. após carregar o Form clique na seta da ComboPrefixo para escolher o prefixo do veículo, essa Combo será carregada somente com os prefixos dos veículos para os quais há registro de saída e não há registro de retorno

3. compacte arquivos com macros para poder anexá-los diretamente aqui no fórum

4. para responder clique em Responder, abaixo da última postagem, só clique em Citar se necessário

 

VEÍCULOS - CONTROLE.zip

Postado

Bom dia @osvaldomp!

 

Quero lhe agradecer imensamente pela planilha. Ficou exatamente como eu queria. Muito obrigado.!!!

 

Se não for lhe incomodar muito, teria como verificar um detalhe na planilha? É porque o formulário está mostrando sempre o odometro inicial da primeira vez que o veiculo foi cadastrado. Seria necessário que mostrasse o odometro  inicial de saída a cada novo cadastro. A planilha será preenchida várias vezes como os mesmos veículos, e gostaria que o motorista, quando fosse devolver o veículo, visualizasse o odometro inicial que ele mesmo cadastrou quando pegou o veículo. Espero que tenha entendido. Obrigado!

adicionado 16 minutos depois

Também descobrir que o odometro final não está sendo lançado no local correto. Está atualizando o ultimo odometro do veículo que foi cadastrado e devolvido. Deveria lançar no local do ultimo cadastro em aberto deste veículo.

adicionado 36 minutos depois

Para entender melhor, estou lhe enviando sua planilha com alguns dados fictícios já preenchidos. Ao tentar devolver os últimos veículos que estão na planilha, ela está atualizando os dados de outros campos já preenchidos. 

VEÍCULOS - CONTROLE.rar

Postado

Olá, Sandro.

 

Para resolver os dois problemas apontados, no código Private Sub ComboPrefixo_Change()
substitua esta linha

 'Set prx = [A:A].Find(Me.ComboPrefixo.Value)

 

por esta 

Set prx = [A:A].Find(Me.ComboPrefixo.Value, after:=Cells(Rows.Count, 1).End(3)(2), searchdirection:=xlPrevious)

 

e no código Private Sub BtnDevolver_Click()
 acrescente (2), conforme indicado em vermelho abaixo
  Set prx = [A:A].Find(Me.ComboPrefixo.Value, after:=Cells(Rows.Count, 1).End(3)(2), searchdirection:=xlPrevious)

Postado

Boa Tarde. Preciso de mais uma ajuda para finalizar a planilha. Gostaria que, quando fosse cadastrar um novo veículo, somente fosse possível se este veículo já tiver sido devolvido. Seria mais ou menos assim: quando estiver digitando o prefixo na Useform e for digitado um prefixo que ainda consta em aberto (ou seja que foi cadastrado e não foi devolvido) que aparece uma mensagem dizendo "veículo ainda não foi devolvido".  

Postado

Abaixo solução similar ao que foi feito no Form Devolver_Veículo: só serão exibidos os veículos que retornaram.

 

1. substitua a TextBox Prefixo por uma ComboBox e nomeie-a ComboPrefixo

2. coloque uma cópia do código abaixo no módulo do Form Cadastro_Veiculo

3. no código Private Sub BtnCadastro_Click() substitua todas as ocorrências de TxtPrefixo por ComboPrefixo (dica - utilize Ctrllll+L)
 

Private Sub UserForm_Initialize()
 Dim prx As Range
  For Each prx In Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
   If prx.Offset(, 6).Value <> "" Then
    Me.ComboPrefixo.AddItem prx.Value
   End If
  Next prx
End Sub

 

Postado

Boa noite @osvaldomp

adicionado 4 minutos depois

Na verdade o que preciso é que somente seja possível cadastrar um novo veículo se ele não estiver com outra pessoa, ou seja, que na planilha não tenha esse veículo cadastrado e não devolvido, pra evitar que alguém cadastre um veículo que ainda não foi devolvido. Pensei em colocar um msgbox informando que o veículo não será possível ser cadastrado pois ainda não foi devolvido, algo do tipo.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!