Página 1 de 1

Check Box não retorna outros valores- Condição IF não funcio

Enviado: 19 Jan 2019 às 18:34
por renanvba
Gente,

O botao editar de um form para cadastro possui o codigo abaixo mas nao consigo fazer de jeito nenhum retornar outro valor que nao seja verdadeiro ou falso para check box, ja tentei com IF e não muda. Gostaria que retornasse sim ou não

Private Sub CommandButton4_Click()
Dim codigo As Integer

linha = 1
codigo = txtData

Sheets("dados clientes").Select
Do Until Sheets("dados clientes").Cells(linha, 1) = ""
If Sheets("dados clientes").Cells(linha, 1) = codigo Then
Sheets("dados clientes").Cells(linha, 1).Select


ActiveCell.Offset(0, 1).Select
ActiveCell = txtCPF

ActiveCell.Offset(0, 1).Select
ActiveCell = txtNome

ActiveCell.Offset(0, 1).Select
ActiveCell = CheckBoxfopa

End If

linha = linha + 1

Loop

Call cmdPequisar_Click

End Sub

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 19 Jan 2019 às 19:23
por osvaldomp
renanvba escreveu:... mas nao consigo fazer de jeito nenhum retornar outro valor que nao seja verdadeiro ou falso para check box, ...
Quais outros valores você gostaria que a CheckBox retornasse ?

Você poderia citar 3 ou 4 desses outros valores que fariam você feliz ?

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 19 Jan 2019 às 20:30
por renanvba
Então, eu tenho varios check box em outros pedaços do form. E eu queria na verdade um botão que gravasse e editasse ao mesmo tempo. O que acontece é que estava criando uma nova linha ao invés de editar
Enfim...consegui por esse código fazer isso, porem, os check box retornam os valores de "verdadeiro" ou "falso" e eu preciso que retorne "sim" e ""; ou "1" e "", ou "0,5" e ""...
Os numeros sao usados em outras formulas depois e tenho diversas condicoes "Se"por isso não pode retornar apenas verdadeiro e falso

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 19 Jan 2019 às 21:19
por osvaldomp
Um CheckBox retorna Verdadeiro se estiver marcado e retorna Falso se não estiver, nada além disso.
No entanto você pode manipular esses dois possíveis resultados.
Assim, por exemplo, você pode transformar V em -1 e F em zero, com o código abaixo.
Código: Selecionar todos
Private Sub CommandButton1_Click()
 Dim num As Long
  num = CheckBox1 + 0
  MsgBox num
End Sub
Ou você pode transformar os resultados em textos, conforme o código abaixo.
Se estiver marcado atribui "sim" à variável var, se não, atribui vazio.
Código: Selecionar todos
Private Sub CommandButton1_Click()
 Dim var As String
  If CheckBox1 Then
   var = "sim"
  Else: var = ""
  End If
End Sub

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 19 Jan 2019 às 21:57
por renanvba
Antes de mais nada brigado pela resposta!
Dentro do codigo que mandei como eu encaixo? porque nao funcionou nenhum dos dois tipos

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 20 Jan 2019 às 07:00
por osvaldomp
ActiveCell = CheckBoxfopa

1. o que você quer colocar na célula ativa se a CheckBox estiver marcada ?
2. idem, se estiver desmarcada ?

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 20 Jan 2019 às 09:23
por renanvba
São 2 checkbox,cada um deve retornar conforme abaixo

Ativado:"Sim"
Não ativado: "Não"

Ativado":1"
Não Ativado:"0"

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 20 Jan 2019 às 10:02
por osvaldomp
Código: Selecionar todos
 If CheckBox1 Then
   ActiveCell.Value = "Sim"
  Else: ActiveCell.Value = "Não"
  End If
Código: Selecionar todos
 If CheckBox2 Then
   ActiveCell.Value = 1
  Else: ActiveCell.Value = 0
  End If
obs.
1. substitua nos códigos acima CheckBox1 e 2 pelos seus respectivos nomes do seu projeto
2. se não houver uma razão então não coloque os números 1 e zero entre aspas

Check Box não retorna outros valores- Condição IF não funcio

Enviado: 20 Jan 2019 às 10:45
por renanvba
Quase la =DD
Mas a checkbox ficou marcada quando fiz a pesquisa mesmo quando tirei a flag
Apareceu o "não" mas a check box ficou marcada, não seria por conta do" Else: ActiveCell.Value = 0 "?

Check Box não retorna outros valores- Condição IF não funcio

Enviado: 20 Jan 2019 às 10:46
por renanvba
O código ficou assim:

Private Sub CommandButton4_Click()

Dim codigo As Integer

linha = 1
codigo = txtData

Sheets("dados clientes").Select
Do Until Sheets("dados clientes").Cells(linha, 1) = ""
If Sheets("dados clientes").Cells(linha, 1) = codigo Then
Sheets("dados clientes").Cells(linha, 1).Select


ActiveCell.Offset(0, 1).Select
ActiveCell = txtCPF

ActiveCell.Offset(0, 1).Select
ActiveCell = txtNome

ActiveCell.Offset(0, 1).Select
If CheckBoxfopa Then
ActiveCell.Value = "Sim"
Else: ActiveCell.Value = "Não"
End If


End If

linha = linha + 1

Loop

Call cmdPequisar_Click

Check Box não retorna outros valores- Condição IF não funcio

Enviado: 20 Jan 2019 às 12:19
por renanvba
cada hora é uma coisa:

Consegui resolver a questão acima.
Porem, eu clico no checkbox ele me da sim ou "" blz...
Quando filtro o mesmo nome e aperto editar ele apaga a informação do checkbox...
O checkbox aparece marcado (na segunda vez que filtro os dados) mas fica meio cinza como se nao desse pra mexer..

Re: Check Box não retorna outros valores- Condição IF não fu

Enviado: 20 Jan 2019 às 13:50
por osvaldomp
renanvba escreveu:cada hora é uma coisa:
Consegui resolver a questão acima.
Você abriu este tópico com "Check Box não retorna outros valores- Condição IF não funcio", que me parece foi solucionado. Então sugiro que você marque este tópico como resolvido e abra outro para a nova demanda.
No novo tópico anexe uma amostra do seu arquivo Excel com o Form e os códigos instalados e descreva com exatidão na própria planilha quais os problemas que você está enfrentando.