Excel VBA Macro Acregar Símbolo "/" para convertir Fecha

Podrán sugerirme Algún código que inserte "/", en celda activa, para que excel lo tome como fecha.

Ejemplo: Celda B3 Texto "1022024"

Solución: Celda B3 Modificada:  01/02/2024  

Respuesta

I. Hola Kazama, por mi parte sólo creo conocer la función DATEDIF

https://support.google.com/docs/answer/6055612?hl=es 

 https://corporatefinanceinstitute.com/resources/excel/datedif-function/

Como suelo comentar quisiera trasladarle la información que vi sobre su consulta por si pudiese serle de alguna utilidad mientras le atiende un profesional o persona conocedora de primera mano, ya que no soy experto pero sí lector habitual. Le ruego me disculpe las molestias de tanta lectura y el tipo de respuesta. Ánimo. Feliz año.


https://stackoverflow-com.translate.goog/questions/25144096/dd-mm-yyyy-date-format-in-excel-through-vba?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www-statology-org.translate.goog/vba-date-format-mm-dd-yyyy/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://superuser-com.translate.goog/questions/1549848/how-can-i-place-a-date-in-dd-mm-yyyy-format-into-an-excel-cell-with-vba?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://ayudaexcel.com/foro/topic/24447-macro-formato-fecha-mmddyyyy-a-ddmmyyyy/ 

https://stackoverflow-com.translate.goog/questions/19801598/excel-vba-date-formats?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://stackoverflow.com/questions/17364019/how-to-convert-the-excel-input-of-yyyy-mm-dd-hh-mm-ss-000000-into-yyyy-mm-dd-hh

https://stackoverflow-com.translate.goog/questions/8338031/mysql-setup-the-format-of-datetime-to-dd-mm-yyyy-hhmmss-when-creating-a-tab?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://es.stackoverflow.com/questions/43910/problema-con-formato-de-fecha-al-transcribirlo-a-casilla-con-vba-excel 

https://www-ablebits-com.translate.goog/office-addins-blog/create-data-entry-form-excel/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://stackoverflow-com.translate.goog/questions/54990866/filling-out-a-diagonal-matrix-with-wrap-around-excel-vba?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://stackoverflow-com.translate.goog/questions/233553/how-do-i-pre-populate-a-jquery-datepicker-textbox-with-todays-date?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www-statology-org.translate.goog/excel-calculate-years-months-between-two-dates/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://superuser-com.translate.goog/questions/1664889/months-between-two-dates?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www-ablebits-com.translate.goog/office-addins-blog/excel-datedif-calculate-date-difference/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www-extendoffice-com.translate.goog/excel/formulas/excel-calculate-years-months-days-between-two-dates.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

1 respuesta más de otro experto

Respuesta

Pon el siguiente código en los eventos de la hoja donde quieres que funcione:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("B3")) Is Nothing Then
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Dim fecha As String
    If Len(Target.Value) = 7 Or Len(Target.Value) = 8 Then
      fecha = Format(Target.Value, "00000000")
      fecha = Format(fecha, "00/00/0000")
      If IsDate(fecha) Then
        Application.EnableEvents = False
        Target.Value = CDate(fecha)
        Application.EnableEvents = True
      End If
    End If
  End If
End Sub

Revisa lo siguiente para poner el código en la hoja:

https://youtu.be/QpzRZqcSpio 

Si quieres que funcione o en otras celdas, cambia en la macro "B3" por, por ejemplo:

Range(""B3:B10")

Visita:

https://www.youtube.com/@CursosDeExcelyMacros


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas