H o l a:
Ya resolví lo del mes.
Faltó que mencionaras si en la hoja1 tienes encabezados. Estoy suponiendo que sí tienes encabezados y que están en la fila1.
También faltó que mencionaras en cuál celda de la hoja2 se van a pegar. Estoy poniendo que se van a pegar en la celda A1.
Private Sub CommandButton1_Click()
'Por.Dante Amor
Application.ScreenUpdating = False
Dim fini As Date, ffin As Date
Set h1 = Sheets("Temporal")
Set h2 = Sheets("Filtrado")
'
h2.Cells.ClearContents
If ComboBox1 = "" Then Exit Sub
meses = Array("", "ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", _
"JULIO", "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE")
mes = ""
For m = 1 To 12
If UCase(ComboBox1) = meses(m) Then
mes = m
Exit For
End If
Next
If mes = "" Then
MsgBox "El combo no tiene un mes correcto"
Exit Sub
End If
'
fini = DateSerial(Year(Date), mes, 1)
udia = Day(DateSerial(Year(Date), mes + 1, 1) - 1)
ffin = DateSerial(Year(Date), mes, udia)
finitxt = Format(fini, "mm/dd/yyyy")
ffintxt = Format(ffin, "mm/dd/yyyy")
'
If h1.AutoFilterMode Then h1.AutoFilterMode = False
u = h1.Range("AH" & Rows.Count).End(xlUp).Row
h1.Range("A1:AP" & u).AutoFilter Field:=Columns("AH").Column, _
Criteria1:=">=" & finitxt, Operator:=xlAnd, _
Criteria2:="<=" & ffintxt
u = h1.Range("AH" & Rows.Count).End(xlUp).Row
If u = 1 Then
MsgBox "No hay registros filtrados"
Else
h1.Range("A2:AP" & u).Copy
h2.[A1].PasteSpecial xlValues
MsgBox "Registros copiados"
End If
If h1.AutoFilterMode Then h1.AutoFilterMode = False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Notas: Las fechas tienen que calcularse en una variable de tipo fecha, después hay que pasar la fecha a texto, pero con formato "mm/dd/yyyy" es el formato inglés.
':)
':)