Pasar Matriz en excel de 20 filas por 10 columnas a una sola columna en otra hoja

Tengo una Matriz en excel de 20 filas por 10 columnas y necesito que me pase a una sola columna en otra hoja

Ejm :

1 5 9 13

2 6 10 14

3 7 11 15

Que me quede asi

1

2

3

4

5

6

Etc

Se los agradezco si me pueden ayudar y si es posible que se le pueda decir cuantas veces quiero hacerlo para que no necesariamente se tenga que cargar la matriz entera

1 respuesta

Respuesta
1

H o  l a:

  1. En tu ejemplo del resultado tienes un 4, ¿de dónde salió el 4?
  2. ¿En cuál celda empiezan los datos?
  3. ¿Siempre son 20 filas y 10 columnas?
  4. También podrías explicar con más detalle a qué te refieres con esto:
  • "
  • y si es posible que se le pueda decir cuantas veces quiero hacerlo para que no necesariamente se tenga que cargar la matriz entera
  • "

E spero tus comentarios en ese orden.

Sal u dos

1. Perdon el 4 no va me equivoque, era para que entendieran un poco el ejemplo 

2. Los datos comienzan en la Celda A1

3. No siempre son 20 filas y 10 columnas la matriz puede ser mas grande pero me serviria de ejemplo y despues solo tendria que cambiar  la cantidad de filas y columnas deseada o definir el rango de mi matriz por ejm si es de 20 filas y 10 columnas el rango seria (A1:J20) y si la necesitara mas grande solo tendria que cambiar este rango.

4. Para que me comprendas mejor, Tengo esta matriz de ejemplo

1 5 9 13

2 6 10 14

3 7 11 15

Necesito que me saque un inputbox o que en una celda pueda ingresar el numero de veces a ejecutarse por ejm si ingrese 8 el resultado seria este

1

2

3

5

6

7

9

10

Espero hacerme entender y te agradezco muchisimos si me puedes colaborar cualquier duda estare pendiente

H o l a:

Te anexo la macro. Cambia "hoja1", "hoja2" por los nombres de tus hojas, y "A1:D3" por el rango de tus datos.

Cuando ejecutes la macro te va a pedir el número de repeticiones.

Sub PasarMatriz()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    Set r1 = h1.Range("A1:D3")
    '
    num = InputBox("Escribe el número de veces", "NÚMERO")
    If num = 0 Or num = False Or Not IsNumeric(num) Then Exit Sub
    '
    cini = r1.Cells(1, 1).Column
    fini = r1.Cells(1, 1).Row
    h2.Cells.Clear
    For j = cini To cini + r1.Columns.Count - 1
        For i = fini To fini + r1.Rows.Count - 1
            f = f + 1
            h2.Cells(f, 1) = h1.Cells(i, j)
            n = n + 1
            If n >= Val(num) Then Exit Sub
        Next
    Next
    MsgBox "Fin"
End Sub

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas