Como transponer una matriz y que se mantenga relacionada con macros?

En una pregunta anterior, pregunte por ésto y me facilitaron la siguiente macro:

Sub transponer()
Set origen = Worksheets("hoja1").Range("a1").CurrentRegion
Set hd = Worksheets("hoja2")
With origen
    f = .Rows.Count: c = .Columns.Count
    For i = 1 To f
        If i = 1 Then Set destino = hd.Range("a1").Resize(c, 1)
        If i > 1 Then Set destino = destino.Rows(destino.Rows.Count + 1).Resize(c, 1)
        destino.Value = WorksheetFunction.Transpose(.Rows(i).Value)
    Next i
End With
End Sub

Anduvo bien, salvo que los datos quedan copiados como valor, en vez de quedarse relacionados como lo haría la funcion =transponer() aplicada con ctl+enter

1

1 Respuesta

136.600 pts. Si de mis mayores gustos, mis disgustos han nacido,...

Cambia esta línea

'destino.VALUE = WorksheetFunction.Transpose(.Rows(i).VALUE)

por esta otra
.Rows(i).Copy: destino.PasteSpecial , Transpose:=True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas