Fråga : Transponera data i ms tar fram eller överträffar

Jag har ett Excelräkneark som har fonden kodifierar som ror överskrifter och kundnummer som kolonnöverskrifter.  Varje beställare, som har en motsvarande fond, har ett x i sätta in under fond att ro (se det fäste exemplet - lista fliken). Jag behöver att skapa en lista från detta räkneark som visar varje listade beställare och fond (resultatfliken).  Någon vet hur jag kan utföra denna i endera tar fram eller överträffar?

Thanks.
Attachments: för >

<-/div> filenamen " för class= för >Sample.xls " fileSize " > (77 KB) " javascript för href= " för <-/span> <-/div>
för >
<-/div> " klar "

Svar : Transponera data i ms tar fram eller överträffar

Den nedanföra kodifiera verkar för att vara funktionsduglig i Excel.

Detta kan göras in tar fram, men inte ganska, som lämpligt, som den gäller en mycket lång facklig query (eller VBA kodifierar till i stort gör den för dig).
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
UnderTransposeData ()
    
    Dunkla LastR som Long, LastC som Long
    Dunkel arr som Variant
    Dunkla DestR som Long
    Dunkla CounterR som Long, CounterC som Long
    
    Med applikation
        .ScreenUpdating = falskt
        . Beräkning = xlCalculationAutomatic
    Avsluta med
    
    Med ThisWorkbook.Worksheets (”lista”),
        LastR =. Celler (. Rows.Count, ”a”). Avsluta (xlUp). Ro
        LastC =. Celler (1. Columns.Count). Avsluta (xlToLeft). Kolonn
        arr =. Spänna (. Celler (LastR, ”a”). Celler (1, LastC)). Värdera
    Avsluta med
    
    Worksheets.Add
    DestR = 1
    
    Med ActiveSheet
        . Spänna (”a1: c1”) = samling (”beställaren”, ”kodifierar”, ”Fund#”),
        För CounterR = 2 till UBound (arr, 1)
            För CounterC = 3 till UBound (arr, 2)
                Om klippning (arr (CounterR, CounterC))  <> "" Därefter
                    DestR = DestR + 1
                    . Celler (DestR, 1) = arr (1, CounterC)
                    . Celler (DestR, 2) = arr (CounterR, 1)
                    . Celler (DestR, 3) = arr (CounterR, 2)
                Avsluta om
            Därefter
        Därefter
        . Columns.AutoFit
        . [a1]. Sortera Key1: =. [a1], Key2: =. [c2], Order1: =xlAscending Order2: =xlAscending titelrad: =xlYes
    Avsluta med
    
    Med applikation
        .ScreenUpdating = True
        . Beräkning = xlCalculationAutomatic
    Avsluta med
    
    ”Gjorda” MsgBox,
    
Avsluta suben
Andra lösningar  
 
programming4us programming4us