Avatar billede malldiverne Nybegynder
19. marts 2015 - 11:55 Der er 7 kommentarer og
1 løsning

Anvend kun komma i textbox - Betingelse

Jeg har nedenstående kode, som kører hvis en combobox har en værdi større end 0.

Men hvis brugeren taster 2.2 bliver outputtet 22 - derfor ville gerne lave en betingelse, så hvis der bliver anvendt punktum hopper den ud af koden og melder med msgbox at der kun skal anvendes komma.

Mvh
Martin

If TextBox1.Visible = False Then
Else

With TextBox1
  If IsNumeric(.Text) = False Or Len(.Text) = 0 Then
    .Text = ""
      MsgBox "Anvend komma og kun tal"
      .SetFocus
      Exit Sub
  Else
      'Teksten konverteres til et tal
      ActiveCell.Offset(0, 16) = CDbl(TextBox1)
  End If
End With

End If
Avatar billede claes57 Ekspert
19. marts 2015 - 13:08 #1
Eller bare ret punktum til komma?
Avatar billede malldiverne Nybegynder
19. marts 2015 - 14:29 #2
kunne også sagtens være en løsning, hvis bare det kan integreres i ovenstående kode?

Mvh
Martin
Avatar billede claes57 Ekspert
19. marts 2015 - 15:22 #3
utestet...

If TextBox1.Visible = False Then
Else

With TextBox1
  If Len(.Text) = 0 Then
      MsgBox "Indtast et tal"
      .SetFocus
      Exit Sub
  End If
  .Text = Replace(.Text,".",",")
  If IsNumeric(.Text) = False Then
      MsgBox "Det skal være et tal"
      .SetFocus
      Exit Sub
  Else
      'Teksten konverteres til et tal
      ActiveCell.Offset(0, 16) = CDbl(TextBox1)
  End If
End With

End If
Avatar billede malldiverne Nybegynder
19. marts 2015 - 16:02 #4
Perfekt!!!

Mange tak for hjælpen :D

Mvh
Martin
Avatar billede malldiverne Nybegynder
19. marts 2015 - 16:04 #5
kan ikke give dig poin, kan det være fordi det ikke er oprettet som et svar?

Mvh

Martin
Avatar billede claes57 Ekspert
19. marts 2015 - 16:14 #6
Jeg er ligeglad med point, så bare accepter eget svar - så har du også point til en anden gang.
Avatar billede AnyFellow Mester
17. april 2015 - 13:54 #7
Overvej hvad der sker, hvis brugeren taster "123.123,12"
Avatar billede claes57 Ekspert
17. april 2015 - 14:23 #8
man kan søge på positionen af komma og punktum med instr()
hvis den ene er nul, så er alt ok og rutinen køres
hvis begge er >0, så fjerner man først den med laveste værdi, og rutinen køres.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester