Edición de macro Excel pasar de OptionButton para ComboBox
James bond
Seguro recuerdas esta
Private Sub cmbBusque_Click()
fecha_inicial = Format(DTPicker1, "mm/dd/yyyy")
fecha_final = Format(DTPicker2, "mm/dd/yyyy")
Set hf = Worksheets("Filtro"): hf.UsedRange.Clear
If OptionButton1 = True Then
COLUMNA = Range("E1").Column
Set HT = Worksheets("Productos").Range("A1").CurrentRegion
End If
If OptionButton2 = True Then
COLUMNA = Range("D1").Column
Set HT = Worksheets("Entrada").Range("A1").CurrentRegion
End If
If OptionButton3 = True Then
COLUMNA = Range("D1").Column
Set HT = Worksheets("Salida").Range("A1").CurrentRegion
End If
''''
If OptionButton4 = True Then
COLUMNA = Range("E1").Column
Set HT = Worksheets("John Deere").Range("A1").CurrentRegion
End If
If OptionButton5 = True Then
COLUMNA = Range("E1").Column
Set HT = Worksheets("CAT").Range("A1").CurrentRegion
End If
''''
If fecha_inicial > fecha_final Then
MsgBox ("Se presenta un problema" & Chr(13) _
& "La fecha inicial es mayor que la fecha final"), vbInformation, "AVISO"
Else
With HT
On Error Resume Next
.AutoFilter
If Err.Number > 0 Then MsgBox ("No ha seleccionado una opcion"), vbInformation, "AVISO": GoTo SALIDA
On Error GoTo 0
.AutoFilter Field:=COLUMNA, Criteria1:=">=" & fecha_inicial, Operator:=xlAnd, Criteria2:="<=" & fecha_final
.SpecialCells(xlCellTypeVisible).Copy Destination:=hf.Range("A1")
Set AREA = hf.Range("A1").CurrentRegion
If AREA.Rows.Count = 1 Then
MsgBox ("No hay registros en ese rango de fechas"), vbInformation, "AVISO"
ListBox1.RowSource = "": .AutoFilter: txtExistencia.Text = "": GoTo SALIDA
End If
Set filtra = hf.Range("a1").CurrentRegion
Set filtra = filtra.Rows(2).Resize(filtra.Rows.Count, filtra.Columns.Count)
With ListBox1
.RowSource = "=Filtro!" & filtra.Address
.ColumnHeads = True
.ColumnCount = HT.Columns.Count
If COLUMNA = 5 Then .ColumnWidths = "55 pt;160 pt;30 pt;75 pt;65 pt;75 pt;220 pt"
If COLUMNA = 4 Then .ColumnWidths = "55 pt;160 pt;30 pt;65 pt;220 pt"
End With
txtExistencia.Text = AREA.Rows.Count - 1
.AutoFilter
End With
End If
SALIDA:
End SubDespués de tener que pasar todo a este libro, fue que vi y pensé ¿(y ahora como hago? Hay mas hojas, por ahora 6 ya están pero hay mas esperando
Ya tengo el ComboBox (cboHojas) en el formulario que carga en Initialize los nombres de las Hojas presentes
cboHojas.List = Array("Productos", "Silverado", "John Deere", "CAT", "Entrada", _
"Salida", "Selecione Hoja")
cboHojas.ListIndex = 5 'muestra por default el ítem 5 (ultimo)Quiero sustituir los optionButton por el Combobox y enlazar este a los nombres de as hojas porque tendría que agrandar el form para que quepan todos los Option y mas tarde cuando aumente la cantidad de hojas de 6 a algunas otras que están para trasladar tendría que estar aumentando aun mas y alargando mucho mas esta macro y el Combo me abarca cualquier cantidad de items hojas y se hace mas corta la macro.
1 respuesta
Respuesta de James Bond
1






