¿Cómo puedo transponer un rango variable en VBA de Excel?
La cuestión es la siguiente tengo un rango de datos en una hoja de Excel:
Campo 1 baja media alta
Campo 2 positivo negativo
Campo 3 baja normal alta
Campo 4 positivo negativo
Bueno, lo de arriba es un ejemplo de lo que más o menos tengo. Lo que requiero es que en otra hoja de excel, yo pueda transponer el contenido de forma que quede así:
Campo 1
Baja
Media
Alta
Campo 2
Positivo
Negativo
Y así con todas las columnas. Ya tengo gran parte del código que me coloca los nombres de "campo 1" y "campo 2". Mi único problema es que tengo la siguiente expresión para la transposición:
Set rango = Worksheets("Hoja1").Range("B4:F4")
Worksheets("Hoja2").Activate
Range(Cells(separador - 3, 2), Cells(separador - 1, 2)) = Application.WorksheetFunction.Transpose(rango)
Si lo hago sólo con el "Range ("B4:F4")" corre de maravilla. El problema es que sólo me sirve para el campo que defino en Range. Lo que necesito es que 'rango' cambie de manera dinámica de acuerdo a las iteraciones de un For Next. Pensé en definir el rango como cells de la siguiente forma:
Set rango = Worksheets("declaracion_conjuntos").Range(Cells(2,4),Cells(6,4))
Pero de esta forma Excel me marca error!
¿No se supone que esta es una forma alternativa de definir un rango?
¿Por qué me marca error?
¿Alguien puede ayudarme?