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