Aquí podría ser tu PUBLICIDAD


Escribir una macro para usar la función de transposición repetidamente

votos
0

Estoy intentando mover filas de valores en una columna en Excel. La función de transposición funciona bien, pero solo moverá una fila a la vez. Me gustaría obtener una macro que convierta 173 filas de datos en tres columnas en una columna. Por favor vea el ejemplo a continuación. Gracias de antemano por cualquier ayuda.

Filas:

98,058 98,058 98,314
82,362 82,684 83,326
93,410 93,479 93,761

Columnas:

98,058
98,058
98,314
82,362
82,684
83,326
93410
93479
93761
Publicado el 12/03/2009 a las 16:23
fuente por usuario Erin Karschnik
En otros idiomas...        العربية       

1 respuestas

votos
1

A continuación, se cargarán los datos de la CurrentRegion de A1 en una matriz y se pegarán en una columna, comenzando en A5.

Supongo que los datos son numéricos, contiguos y que se trata de una operación única, en lugar de un ejercicio que podría tener que repetirse en conjuntos de datos de diferentes tamaños. Si sus datos no son contiguos, o no están limitados por celdas vacías, entonces puede codificar el rango en su lugar.

Private Sub transposeRows()
Dim inputRange As Variant
Dim myArray() As Long
Dim x As Long
Dim testCell As Range

'Get the range of data to copy'
Set inputRange = Range("A1").CurrentRegion

'Resize array to fit'
ReDim myArray(inputRange.Count - 1)

'Fill up array with data'
For Each testCell In inputRange
    myArray(x) = testCell
    x = x + 1
Next testCell

'Fill destination range'
Range("A5:A" & UBound(myArray) + 5) = WorksheetFunction.Transpose(myArray)

End Sub
Respondida el 12/03/2009 a las 05:42
fuente por usuario Lunatik


Aquí podría ser tu PUBLICIDAD