Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Formato obligatorio de tiempo HH:MM al escribir en textbox

publicado

Buen día y con el gusto de saludarle nuevamente expertos recurro a ustedes para solicitar su valiosa colaboración en el mejor de los sentidos ya que tengo un textbox al que le quiero poner un formato de hora HH:MM para que al momento de escribir obligue al usuario final a poner ese formato de tiempo exactamente, he intentado hacerlo pero en mi programación veo muchos errores, por ejemplo cuando le doy con las teclas direccionales para seleccionar y me posiciono en el espacio 3 y le doy una letra este la acepta; bueno de antemano el textbox no debe aceptar letras, unicamente números y en el espacio 3 el signo de dos puntos (:) pero como lo digo al hacer eso lamentablemente ya no respeta y quiero que se exactamente  HH:MM y ningún otro carácter mas que los que ya comente, espero haberme explicado, anexo archivo muestra y quedo atento a sus indicaciones y comentarios constructivos. de antemano mil gracias.

Libro1.xlsm

Featured Replies

publicado

Hola no entiendo muy bien la idea final pero podrías probar esto más sencillo

 

Valor = UserForm1.TextBox1.Value

If VBA.IsDate(Valor) Then                                            ' esto directamente comprueba si lo que se ha metido es una fecha
UserForm1.TextBox1.Value = Replace(Valor, ".", ":")   ' Te cambia el . por : ya que 22.45 también lo acepta como fecha
MsgBox "es Fecha"
Else: MsgBox "no valido"
End If

Adaptalo como creas

Espero que te sirva

 

  • 2 months later...
publicado
  • Autor

no me funciona :(

publicado

Seguro que hay otras formas, esta es una de ellas.

Si no me he equivocado esta macro te permite registrar la hora entre las 00:00 y las 23:59.

Private Sub TextBox1_Change()
TextBox1 = Left(TextBox1, TextBox1.SelStart)
Select Case Len(TextBox1)
   Case 1:
      If InStr("012", TextBox1) = 0 Then
         TextBox1 = ""
         Exit Sub
      End If
   Case 2:
      Select Case Left(TextBox1, 1)
         Case 0, 1
            If InStr("0123456789", Right(TextBox1, 1)) = 0 Then
               TextBox1 = Left(TextBox1, 1)
               Exit Sub
            End If
          Case 2
            If InStr("0123", Right(TextBox1, 1)) = 0 Then
               TextBox1 = Left(TextBox1, 1)
               Exit Sub
            End If
      End Select
      TextBox1 = TextBox1 & ":"
      Exit Sub
   Case 3:
      If Right(TextBox1, 1) <> ":" Then
         TextBox1 = Left(TextBox1, 2)
      End If
   Case 4:
      If InStr("012345", Right(TextBox1, 1)) = 0 Then
         TextBox1 = Left(TextBox1, 3)
         Exit Sub
      End If
   Case 5:
      If InStr("0123456789", Right(TextBox1, 1)) = 0 Then
         TextBox1 = Left(TextBox1, 4)
         Exit Sub
      End If
End Select
End Sub

 

publicado
  • Autor

con eso esta mas que perfecto maestro mil gracias, algún día espero tener la capacidad que tienen para resolver estos problemas "excelianos!:D vaya que me ha funcionado!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.