En esta entrada les compartiré una macro para convertir o transponer los datos almacenados en una hoja de Excel y ordenarlos de forma vertical a horizontal.
En el Libro adjunto de ejemplo encontrarán dos posibles soluciones, una con código VBA para los que prefieren las macros y la otra con fórmulas, para los que prefieren no complicarse con programación.
'****************************************'
' Emaii: obed.cruz@exceitrabajaporti.com '
' www.exceitrabajaporti.com '
'****************************************'
Option Explicit
Sub AgruparDatosHorizontal()
Dim Arr As Variant, tmp As Variant, i As Integer
Dim objDic As Object, varItems As Variant, varKeys As Variant
Arr = Worksheets("VBA").Range("A1").CurrentRegion
Set objDic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(Arr)
objDic(Arr(i, 1)) = objDic(Arr(i, 1)) & Arr(i, 2) & "###"
Next
varKeys = objDic.keys
varItems = objDic.items
With Worksheets("VBA")
For i = 1 To objDic.Count
tmp = Split(varItems(i - 1), "###")
.Cells(i, 5) = varKeys(i - 1)
.Cells(i, 6).Resize(, UBound(tmp)) = tmp
Next
End With
Set objDic = Nothing
End Sub
Carrito:




