Ir ao conteúdo

Posts recomendados

Postado

Bom dia,
Preciso criar um rotina que impeça o usuário a cadastra as informações quando não informadas.
Exemplo: nesta pasta de trabalho possui a aba cadastro, nela contem todos os veículos a disposição para realizar a limpeza diária, porém não é necessário limpar todos os veículos diariamente, ou seja, conforme a disponibilidade do veiculo parado no pátio é realizado a limpeza, quando o veiculo é limpado é cadastrado nesta pasta de trabalho, ao informar o nome do Colaborador o campo data possui um formula que puxa a data do dia. Farei uma Representação de cadastro para um melhor entendimento: Carro: 991; Classificação: Articulado; Data: 07/10/2015; Colaborador: Adriano; Tipo_Lavação: Limpeza Geral interna Articulado; Turno: ????; Responsável: ???. Outro cadastro: Carro: 212; Classificação: Articulado; Data: 07/10/2015; Colaborador: Adriano; Tipo_Lavação:???; Turno: ????; Responsável: Pedro. Faltou informações nas duas situações, se o usuário clicar no botão cadastro, retornará a mensagem, favor preencher todos os campos necessários, não permitindo a transferência das informações para aba Dados até que seja informado todos os campos não informados, os demais carros da lista não será poderá ficar sem informação.

Link:

http://www.4shared.com/file/rum141Qgce/Cadastro.html

Desde já agradeço atenção.

Cadastro.rar

Postado

Bom dia,

Estou quebrando cabeça para tentar encontrar uma logica para não permitir finalizar o cadastro faltando informações necessárias.

Tentei montar essa estrutura, mas está ocorrendo erro. Minha lógica seria: Se na coluna "I" contiver o numero 1, faz a transferência das informações da linha entre "A","B","C","D","E","F","G" e "H", caso contiver o texto "Erro", será apresentado uma mensagem "Está faltando informações necessárias para finalizar o cadastro"
Sub Cadastrar()
Dim i As Long
Dim UltimaLinhaCadastro As Long
Dim UltimaLinhaDados As Long

UltimaLinhaCadastro = Sheets("Cadastro").Cells(Cells.Rows.Count, 1).End(xlUp).Row
UltimaLinhaDados = Sheets("Dados").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If UltimaLinhaDados = 1 Then
Sheets("Dados").Range("A2").Value = 1
End If

If Sheets("Dados").Range("I").Value = "Erro" Then

MsgBox "Está faltando informações necessárias para finalizar o cadastro", vbCritical, "Atenção"
End If

For i = 2 To UltimaLinhaCadastro

If Range("I" & i).Value = 1 Then

If UltimaLinhaDados <> 1 Then
Sheets("Dados").Range("A" & UltimaLinhaDados + 1).Value = Sheets("Dados").Range("A" & UltimaLinhaDados).Value + 1
End If
Sheets("Dados").Range("B" & UltimaLinhaDados + 1).Value = Range("B" & i).Value
Sheets("Dados").Range("C" & UltimaLinhaDados + 1).Value = Range("C" & i).Value
Sheets("Dados").Range("D" & UltimaLinhaDados + 1).Value = Range("D" & i).Value
Sheets("Dados").Range("E" & UltimaLinhaDados + 1).Value = Range("E" & i).Value
Sheets("Dados").Range("F" & UltimaLinhaDados + 1).Value = Range("F" & i).Value
Sheets("Dados").Range("G" & UltimaLinhaDados + 1).Value = Range("G" & i).Value
Sheets("Dados").Range("H" & UltimaLinhaDados + 1).Value = Range("H" & i).Value
UltimaLinhaDados = Sheets("Dados").Cells(Cells.Rows.Count, 1).End(xlUp).Row
End If
Next
Call Limpar

Modelo: http://www.4shared.com/file/WmmGWJTKce/AleVBA_729.html

AleVBA_729.rar

Postado

Minha lógica seria: Se na coluna "I" contiver o numero 1, faz a transferência das informações da linha entre "A","B","C","D","E","F","G" e "H", caso contiver o texto "Erro", será apresentado uma mensagem "Está faltando informações necessárias para finalizar o cadastro"

Você utiliza a fórmula abaixo para verificar o preenchimento no intervalo 'E:H' da planilha "Cadastro". O registro será replicado na planilha "Dados" somente se aquele intervalo estiver ou totalmente preenchido ou totalmente vazio. São esses os critérios que você quer?

=SE(E(E6="";F6="";G6="";H6="");1;SE(E(E6<>"";F6<>"";G6<>"";H6<>"");1;"ERRO"))

 

 

If Sheets("Dados").Range("I").Value = "Erro" Then

Você quer verificar o preenchimento na planilha "Cadastro", é isso? Então o comando acima deveria ser

If Sheets("Cadastro").Range("I").Value = "Erro" Then

Postado

Boa Tarde Pessoal,
Consegui chegar até essa planilha através de algumas postagens em vários fóruns.
Estou quase chegando ao objetivo.
Venho aqui postar mais uma vez minha dificuldade. No modelo anexo, na aba Cadastro, se caso o usuário que alimenta a planilha não informar nenhum cadastro e clicar no botão cadastro a macro dá um erro de execução, preciso criar uma rotina que não ocorra este erro. Outro detalhe: Na aba cadastro possui algumas formulas e validações de dados, exemplo dos campos Data e Classificação, quando transferidos para a aba Dados é transferido a formula com as validações de dados, preciso que seja transferido somente os valores.
Desde já agradeço atenção.

Cadastro de Limpeza.rar

Postado

Boa Tarde Osvaldo, Peço desculpas! não foi minha intenção....é que comecei com a postagem anterior é consegui outro resultado, resolvi postar ignorando minha postagem anterior. De qualquer forma muito obrigado por tentar me ajudar.  

Visitante
Este tópico está impedido de receber novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!