Ingresar datos en una hoja y ordenarlos

Tengo una macro en la que ingreso datos desde un formulario tengo el siguiente código

Private Sub INGRESAR_Click()
Sheets("BD").Select
Dim TORRES As String
Dim APTOS As String
Dim final As Double
TORRES = torre.Value
APTOS = apto.Value
final = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Row.Count
Cells(final + 1, 2) = torre
Cells(final + 1, 4) = apto
End Sub

Y necesito que me ordene los datos de forma ascendente.

1 respuesta

Respuesta
1

Para ordenar se requieren varios datos:

  • Por cuál o cuáles columnas vas a ordenar
  • Tienes encabezados
  • En qué fila tienes los encabezados
  • En qué fila empiezan los datos
  • Desde cuál columna y hasta cuál columna vas a ordenar

Te anexo un ejemplo que ordena los datos por la columna "B", los encabezados están en la fila 1, los datos empiezan en la fila 2 y ordena desde la "A" a la "F"

Private Sub INGRESAR_Click()
    Sheets("BD").Select
    final = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    Cells(final + 1, 2) = torre
    Cells(final + 1, 4) = apto
    'Ordenar
    u = Range("B" & Rows.Count).End(xlUp).Row
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("B2:B" & u), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range("A1:F" & u)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Nota: corregí tu macro, ya que le faltaba una "s" en Rows.Count. 

No es necesario que declares las variables, es más práctico pasar el dato del textbox a la celda.


'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas