Divison de una tabla en por tablas de 10 registros homogéneos entre ellos

Quisiera saber como puedo dividir ir n registros de una tabla en por tablas de z registros homogéneos gracias de antemano

Tengo una tabla de Campos id y unidades de n registros variables y quiero agruparlos en por tablas de 10 registros homogéneos, es decir

La variable por tiene que salir de dividir la variable n/10 y a partir de este dato sabemos cuantas tablas de 10 registros vamos a tener .

Las por tablas tiene que ser lo más homogéneo posible en la suma del amo unidades.

Muchísimas gracias de antemano al que me pueda ayudar

1 respuesta

Respuesta
1

Ya entendí esta parte, tienes una lista con n registros, pero:

1. ¿Cuántas tablas quieres? ¿El número de tablas es variable?

2. ¿Cuántos registros quieres por tabla? ¿El número de registros siempre es 10?

Me puedes comentar en ese orden.

Saludos. Dante Amor

1 el numero de tablas sera variable y sera la división del numero total de registros de la tabla que contiene todos los datos entre un numero que yo le marcare en una celda del excel.

2 También sera variable el numero de registros que quiero por tabla en función de un valor marcado en una celda.

3. En cuanto a la homogeneidad de las tablas tendrían que ser lo más igualadas posibles en el sumatorio todal de cantidades.

Muchas Gracias Dante

Dime en dónde están los ID, en dónde están las unidades, en cuál celda vas a poner el número de tablas y cuál celda vas a poner el número de registros por tabla.

El resultado te lo voy a poner en otra hoja.

Pon tus datos en la hoja1 y el resultado te lo pongo en la hoja2, cada tabla tendrá 2 columnas (una para el Id y otra para la unidad).

cada tabla puede ser en una hoja diferente?

Perdona,

No te he dado las gracias por la ayuda que me estas prestando.

Muchísimas gracias.

Estaba revisando la información y me percaté que el número de registros va en función del número de tablas, entonces, para que la información sea homogénea, no es necesario que pongas el número de registros, con el número de tablas, se van a pasar el mismo número de registros por tabla.

Te anexo la macro. Te va a crear una hoja por tabla.

Sub CrearTablas2()
'Por.Dante Amor
    Dim nombres As New Collection
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h2.Cells.Clear
    h1.Columns("A:B").Copy h2.[A1]
    u = h2.Range("A" & Rows.Count).End(xlUp).Row
    With h2.Sort
        .SortFields.Clear: .SortFields.Add Key:=h2.Range("B2:B" & u)
        .SetRange h2.Range("A1:B" & u): .Header = xlYes: .Apply
    End With
    '
    ts = h1.[F3]
    '
    For i = 1 To ts
        Sheets.Add after:=Sheets(Sheets.Count)
        ActiveSheet.Name = "tabla" & i
    Next
    '
    n = 1
    j = 1
    m = u
    For i = 2 To u / 2 + 1
        hoja = "tabla" & n
        h2.Range("A" & i & ":B" & i).Copy Sheets(hoja).Range("A" & j)
        h2.Range("A" & m & ":B" & m).Copy Sheets(hoja).Range("A" & j + 1)
        m = m - 1
        n = n + 1
        If n > ts Then
            n = 1
            j = j + 2
        End If
    Next
    '
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas