Corregir formato de fecha de mm/dd/yyyy a dd/mm/yyy

Buenas..

Para Dam.. Disculpa hace unos días me entregaste un código lo probé y funcionaba pero me di cuenta que extrae mal las fechas al seleccionar los combobox las busca asi mes/dia/año y no como quisiera dia/mes/año..

busco entre un rango de fechas esta los toma asi mm/dd/yyyy ..... Y no dd/mm/yyyy

Ej

Busco en el primer combobox la fecha 03-04-2013 en el segundo combobox 04-05-2013 trae los valores buscados desde el 03-04-2013 hasta 05-04-2013 ... He intentado cambiando el formato del combobox pero no toma los cambios... Agradecería si alguien me puede ayudar con este código..

Sub búsqueda()

Application.ScreenUpdating = False

Dim fec1 As Date

Dim fec2 As Date

Set h1 = Hoja2

Set h2 = Hoja11

fec1 = CDate(UserForm1.ComboBox1.Value)

fec2 = CDate(UserForm1.ComboBox2.Value)

u2 = h2.Range("A" & Rows.Count).End(xlUp).Row

h2.Range("A4:AZ" & u2).ClearContents

h1.AutoFilterMode = False

u = h1.Range("B" & Rows.Count).End(xlUp).Row

h1.Range("B9:AZ" & u).AutoFilter Field:=1, _

Criteria1:=">=" & fec1, Operator:=xlAnd, Criteria2:="<=" & fec2

h1.Range("B9:AZ" & u).AutoFilter Field:=5, _

Criteria1:="=Hola1", Operator:=xlOr, Criteria2:="=Hola2"

h1.Range("B9:B" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("A4")

h1.Range("D9:D" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("B4")

h1.Range("F9:F" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("C4")

h1.Range("AM9:AM" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("D4") h1.AutoFilterMode = False

h1.Select

Application.ScreenUpdating = True

MsgBox "Proceso Finalizado"

End Sub

1 respuesta

Respuesta
1

Quedaría así. Revisa que fec1 y fec2 tomen directamente el valor de los combos 1 y 2, tal y como va en el código. Lo siguiente es ponerle formato "mm/dd/yyyy" al momento de hacer el filtro. Se utiliza ese formato, porque es el universal, ya que está en inglés, pero al momento de hacer el filtro te tomará la fecha como la tienes "dd/mm/aaaa"

Sub busqueda()
 Application.ScreenUpdating = False
Dim fec1 As Date
Dim fec2 As Date
Set h1 = Hoja2
Set h2 = Hoja11
fec1 = UserForm1.ComboBox1
fec2 = UserForm1.ComboBox2
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
h2.Range("A4:AZ" & u2).ClearContents
h1.AutoFilterMode = False
u = h1.Range("B" & Rows.Count).End(xlUp).Row
h1.Range("B9:AZ" & u).AutoFilter Field:=1, _
Criteria1:=">=" & Format(fec1, "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(fec2, "mm/dd/yyyy")
h1.Range("B9:AZ" & u).AutoFilter Field:=5, _
Criteria1:="=Hola1", Operator:=xlOr, Criteria2:="=Hola2"
h1.Range("B9:B" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("A4")
h1.Range("D9:D" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("B4")
h1.Range("F9:F" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("C4")
h1.Range("AM9:AM" & u).SpecialCells(xlCellTypeVisible).Copy h2.Range("D4")
h1.AutoFilterMode = False
h1.Select
Application.ScreenUpdating = True
MsgBox "Proceso Finalizado"
End Sub

Gracias Dam

Lo revisare detenidamente para no estar haciendo nuevas preguntas sobre lo mismo....

Cualquier duda avísame

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas