¿Cómo transponer una matriz con Macros y fórmulas matriciales y que se mantengan relacionadas?
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
Despues me dijeron:
'destino.VALUE = WorksheetFunction.Transpose(.Rows(i).VALUE)
por esta otra
.Rows(i).Copy: destino.PasteSpecial , Transpose:=True
El tema es que sigue pegando los valores.
La macro básica que armo yo es la siguiente donde SI, pega los valores relacionados:
Sub macro2()
'
' macro2 Macro
'
' Acceso directo: CTRL+u
'
Range("A1:A7").Select
Selection.FormulaArray = "=TRANSPOSE(Hoja1!RC:RC[6])"
End Sub