Avatar billede besida Nybegynder
19. juli 2012 - 13:49 Der er 3 kommentarer og
1 løsning

Tekst validering i input box

Hej
Jeg har lidt problemer med at få valideret min input box, således at der kun accepteres, såfremt input = kun tekst, ingen 0-9,._-!"#¤%&(&()= osv.

Jeg har prøvet følgende kode, som jeg har fundet og prøvet at modificere lidt, men den virker ikke!

Dim strName As String
Dim sTemp As String
Dim iLen As Integer
Dim iCtr As Integer
Dim sChar As String


    strName = Application.InputBox(Prompt:="Enter new platform name. Only Generic procedures for ToE will be visible. Name must be text: A-Z or a-z.", Type:=2, _
          Title:="New Platform", Default:="Platform name here")
         
       
    sTemp = strName
    iLen = Len(sTemp)
   
       
    If iLen > 0 Then
        For iCtr = 1 To iLen
            sChar = Mid(sTemp, iCtr, 1)
           
          If Not sChar Like "[A-Za-z]" Then 
       
            MsgBox "Only text is allowed. (Not 1-9,_-/&()¤# etc."
            Exit Sub
           
      End If
       
    If strName = "Platform name here" Or _
          strName = vbNullString Then

          Exit Sub
   
    End If
   
    If sChar Like "[A-Za-z]" Then
   
            Sheet4.Range("D65536").End(xlUp).Offset(1, 0) = strName
            Sheet1.Range("B8") = strName
                     
        End If
    End Sub

Håber der er nogen der kan hjælpe:)
Avatar billede Thorp Praktikant
20. juli 2012 - 13:59 #1
Denne kode kører hos mig, jeg har indsat et blanktegn efter din charlist, så disse også accepteres. Herudover har jeg indsat en Next til din For-To løkke og ændret dit Range objekt.

Sub testInputbox()

Dim strName As String
Dim sTemp As String
Dim iLen As Integer
Dim iCtr As Integer
Dim sChar As String


    strName = Application.InputBox(Prompt:="Enter new platform name. Only Generic procedures for ToE will be visible. Name must be text: A-Z or a-z.", Type:=2, _
          Title:="New Platform", Default:="Platform name here")
         
       
    sTemp = strName
    iLen = Len(sTemp)
   
       
    If iLen > 0 Then
   
        For iCtr = 1 To iLen
            sChar = Mid(sTemp, iCtr, 1)
           
          If Not sChar Like "[A-Za-z ]" Then
       
            MsgBox "Only text is allowed. (Not 1-9,_-/&()¤# etc."
            Exit Sub
           
          End If
       
        Next
       
   
       
    If strName = "Platform name here" Or _
          strName = vbNullString Then

          Exit Sub
   
    End If
   
        If sChar Like "[A-Za-z ]" Then
   
            Sheets("Sheet4").Range("D65536").End(xlUp).Offset(1, 0) = strName
            Sheets("Sheet1").Range("B8") = strName
                     
        End If
   
End If
   
End Sub
Avatar billede finb Ekspert
20. juli 2012 - 14:40 #2
Skal
  If Not sChar Like "[A-Za-z ]" Then
ændres til
  If Not sChar Like "[a-zA-Z]" Then
??

eller
  If Not LCASE(sChar) Like "[a-z]" Then
??
mvh finb
Avatar billede Thorp Praktikant
20. juli 2012 - 14:51 #3
i stedet for "[A-Za-z]" har jeg skrevet "[A-Za-z ]" - bemærk mellemrummet efter z.
Avatar billede besida Nybegynder
20. juli 2012 - 15:50 #4
Hej Thorp!
Super, det virkede!

Jeg havde prøvet at placere "Next", men synes ikke at få det til at give mening!

Men nu virker det i hvert fald!

Mange tak for hjælpen!

God sommer!
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
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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