Ir ao conteúdo

Excel VBA com formatação condicional '=SE(A3<>"";SE(N3="";"EXTERNO";"INTERNO");"")


Ir à solução Resolvido por Patropi,

Posts recomendados

Postado

BOA NOITE, 

Estou iniciando com VBA, cheguei nesse código, 

tem alguns erros, a intenção é digitar na coluna A e trazer a data na coluna "h" e hora na coluna "i"

tem também uma formatação condicional  '=SE(A3<>"";SE(N3="";"EXTERNO";"INTERNO");"") que al digitar os dados na coluna "a" inicia com externo de pois quando o carro retorna coloco a data e a formatação muda p/ interno.

 

obrigado desde já

 

 

Private Sub CommandButton1_Click()
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Erro
Dim i As Double ' PARA PEGAR A LINHA
Dim C As String ' PARA COLUNA SELECIONADA

C = ActiveCell.Column

If C = 1 Then
i = ActiveCell.Row - 1 ' SES ESTIVER O CURSOR NA COLUNA 1 QUE A COLUNA CRITERIO QUE VOU DIGITAR
Else
i = ActiveCell.Row ' POSSO MUDAR O CURSOR PARA QUAL QUER LADO
End If

On Error Resume Next 'EM CASAO DE ERRO SEGUE EM FRENTE
If Planilha1.Cells(i, 1).Value <> "" Then  ' SE ESTIVER VAZIO NÃO FAZ NADA, PRECISO DIGITAR ALGO NA COLUNA 1 OU A
If Planilha1.Cells(i, 9).Value = "" Then   ' alterar
If C <> 9 Then

If i > 1 Then


Planilha1.Cells(i, 9).Value = VBA.Time ' alterar 'COLOCAR HORA, 9 SE REFERE A COLUNA B
Planilha1.Cells(i, 9).Value = VBA.Format(Planilha1.Cells(i, 9).Value, "hh:mm") ' alterar

Planilha1.Cells(i, 8).Value = VBA.Date 'alterar COLOCAR DATA, 8 SE REFERE A COLUNA D, OU SEJA 1 É COLUNA A, 2 COLUNA B E ASSIM VAI

End If
End If
End If
End If

If C = 1 Then
If Planilha1.Cells(i, 1).Value = "" Then
Planilha1.Cells(i, 9).Value = ""

End If
End If
Exit Sub
Erro:
MsgBox "Erro!", vbCritical, "ERRO"
End Sub









 

teste 34 chassi.rar

Postado
7 horas atrás, Patropi disse:

@Leandro Lamin

 

Não é erro, pois só normalmente a pessoa digita e não altera mais, mas dá para bloquear a a célula após o lançamento da hora.

 

[]s

Espetacular!!! Muito  obrigado pela ajuda, para bloquear é muito complicado ? Aqui tem 4 pessoas que mechem nas planilhas e depois quando fazemos relatório sempre tem divergências nos cadastros. Quando alguém antera no número da placa. 
 

mais uma vez obrigado! 
vocês são super! 

Postado
Private Sub Worksheet_change(ByVal Target As Range)

On Error GoTo Saída

' número 1(um) se refere a coluna "A" ao modificar uma celula, adiciona dados nas celulas da coluna 8(data) e 9(hora)
	If Target.Column = 1 Then
        
        If Cells(Target.Row, 8).Value = "" Then
        Cells(Target.Row, 8).Value = Date
        
        If Cells(Target.Row, 9).Value = "" Then
        Cells(Target.Row, 9).Value = Time
        
        
End If
End If
End If

Saída: Exit Sub
End Sub

 

olha será que esta certo? poderia verificar por favor

Postado

@Patropi Boa noite, 

 

essa condição =SE() esta na coluna ///// "R" =SE(A3<>"";SE(N3="";"EXTERNO";"INTERNO");"") \\\\\

 

Quando digito na coluna "A" , la na coluna  "R" aparece "EXTERNO

Depois digito na coluna N,  la na coluna  "R" aparece "INTERNO"

a intenção é indicar de forma clara quando o veiculo esta fora da empresa, interno e externo.

teste 34 chassi.rar

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