Jump to content

permitir solo ciertos caracteres en textbox


viejo

Recommended Posts

Buen dia expertos recurro a ustedes con esta consulta que espero no les quite mucho de su valioso tiempo y en espera me puedan ayudar, y es que requiero que un textbox acepte solo caracteres que yo quiera como en este caso requiero el textbox solo acepte letras mayusculas y minusculas, y los caracteres exceptuados son el guion bajo, el espacio y los dos puntos ":" y tengo el siguiente codigo pero no logro adecuarlo

Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' osea Esto es para que el Textbox1 solo acepte números
'    If KeyAscii < 48 Or KeyAscii > 57 Then
'        KeyAscii = 0
'    End If

' del 32 al 126 son caracteres imprimibles

  ' Esto es para que el Textbox1 solo acepte letras
' las letras son del 65 al 90 en mayusculas
' las letras son del 97 al 122 en minusculas

  ' osea el 32 es el espacio, el guion bajo es el 95

If Not (KeyAscii >= 65 And KeyAscii <= 90 Or KeyAscii >= 97 And KeyAscii <= 122 Or KeyAscii = 32 Or KeyAscii = 95) Then
KeyAscii = 0
End If


End Sub

pero no se porque no me funciona, si alguien me puede ayudar se lo agradeceria muchisimo

Link to comment
Share on other sites

Y con tu código prueba y comenta

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    
    If Not (KeyAscii >= 65 And KeyAscii <= 90 Or KeyAscii >= 97 And KeyAscii <= 122 _
                        Or KeyAscii = 32 Or KeyAscii = 95 Or KeyAscii = 58) Then
                        KeyAscii = 0
    End If
End Sub

 

Link to comment
Share on other sites

  • 4 weeks later...

A mi me gusta mucho que muestro a continuación porque yo le digo en el evento KeyPress cuales son los que deseo que se digiten y me evito muchos inconvenientes.

    If InStr("0123456789" & Chr(8), Chr(KeyAscii)) = 0 Then KeyAscii = 0

Luego puedes incluir otros caracteres o símbolos que desees incluir y listo

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • A ver que tal, prueba y comenta Facturación 26082021JSD.xlsm
    • Hola, Yo no me entero muy bien; en el ejemplo que has puesto de  Puedes usar =IZQUIERDA(A1;4)/100 (suponiendo que el numero esta en A1). Seguro que no te refieres a eso porque es muy simple, pon mas ejemplos.
    • Hola a todos, soy nueva por aquí     Tengo una duda de una exportación de una tabla SQL, donde los precios de los productos, en lugar de exportarlos en formato moneda con decimales, me los exporta en el siguiente formato: "00.000.000" está en formato "número", pero no sé como hacer para pasarlo a un formato de moneda, ya que los últimos tres "0" me sobran y me suma los 8 dígitos, cuando los 3 últimos no valen.    Por ejemplo:  10.123.001 (Es un producto que vale 10,12€ Como puedo hacer para eliminar el resto de dígitos? No encuentro la manera y claro, tampoco puedo realizar operaciones en excel puesto que me suma todos los dígitos...   No sé si me he explicado bien...   Gracias!!  
    • Buenas , soy nuevo en esto de Macros , pero investigando he dado esta solución , El macro funciona con el directorio "C:\Excel\"  la llamada al Macro es " Analizar_archivos" desde Libro.xlsm Option Explicit Dim ArchivoAbrir As Excel.Workbook Sub Analizar_Archivos() Dim Dir, Carpeta, Archivo As Object Dim Ruta As String Dim Listado() As Variant Set Dir = CreateObject("Scripting.FileSystemObject") Ruta = "C:\Excel\" ' ruta donde mirar On Error GoTo Error Set Carpeta = Dir.GetFolder(Ruta) For Each Archivo In Carpeta.Files ' recorremos los archivos de la carpeta If InStr(1, Archivo.Name, "~$") = 0 And _ InStr(1, Archivo.Name, "xlsm") = 0 And _ Archivo.Name <> "C:\Excel\Libro.xlsm" Then ' exclusiones AbrirarchivoExterno (Ruta & Archivo.Name) ' abrimos el archivo End If Next Exit Sub Error: MsgBox "Ruta inexistente", vbCritical End Sub Sub AbrirarchivoExterno(Archivo) On Error Resume Next If Len(Archivo) > 0 Then Set ArchivoAbrir = Workbooks.Open(Archivo) Workbooks.Open(Archivo).Application.Visible = False ' abrimos el archivo en modo invisible Comprueba ' comprobamos el archivo abierto Cerrar (Archivo) ' cerramos el archivo abierto End If End Sub Sub Cerrar(Archivo) Set ArchivoAbrir = Workbooks.Open(Archivo) ArchivoAbrir.Save ArchivoAbrir.Close End Sub Sub Comprueba() Dim Texto As String Texto = Range("Bc30").Value Select Case Texto Case Is = "hogares" Range("bc30").Value = "infiernos" Case Is = "alquileres" Range("bc30").Value = "placeres" Case Is = "compartir" Range("bc30").Value = "genesis" Case "infiernos", "placeres", "genesis" Case Else Range("Bc30").Value = "" End Select End Sub    suerte.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy