Hoe dubbele rijen naar kolommen in Excel te transponeren?
Stel dat u een reeks gegevens in Excel heeft, u wilt nu de dubbele rijen naar meerdere kolommen transponeren zoals in het onderstaande screenshot, heeft u dan goede idee毛n om deze taak op te lossen?
Transponeer dubbele rijen naar kolommen met VBA-code
Transponeer dubbele rijen naar kolommen met VBA-code
Helaas is er geen directe manier om ermee om te gaan in Excel, maar u kunt een VBA-code maken om het op te lossen, doe dit als volgt:
1. Houd de toets ingedrukt ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: transponeer dubbele rijen naar meerdere kolommen
Sub ConvertTable()
'Updateby Extendoffice
Dim xArr1 As Variant
Dim xArr2 As Variant
Dim InputRng As Range, OutRng As Range
Dim xRows As Long
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xArr1 = InputRng.Value
t = UBound(xArr1, 2): xRows = 1
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(xArr1, 1)
If Not .exists(xArr1(i, 1)) Then
xRows = xRows + 1: .Item(xArr1(i, 1)) = VBA.Array(xRows, t)
For ii = 1 To t
xArr1(xRows, ii) = xArr1(i, ii)
Next
Else
xArr2 = .Item(xArr1(i, 1))
If UBound(xArr1, 2) < xArr2(1) + t - 1 Then
ReDim Preserve xArr1(1 To UBound(xArr1, 1), 1 To xArr2(1) + t - 1)
For ii = 2 To t
xArr1(1, xArr2(1) + ii - 1) = xArr1(1, ii)
Next
End If
For ii = 2 To t
xArr1(xArr2(0), xArr2(1) + ii - 1) = xArr1(i, ii)
Next
xArr2(1) = xArr2(1) + t - 1: .Item(xArr1(i, 1)) = xArr2
End If
Next
End With
OutRng.Resize(xRows, UBound(xArr1, 2)).Value = xArr1
End Sub
3. Druk vervolgens op F5 sleutel om deze code uit te voeren, selecteer het gegevensbereik waarvan u de dubbele rijen naar meerdere kolommen wilt converteren in het uitgeklapte dialoogvenster, zie screenshot:
4. Klikken OKen selecteer een cel waar u het resultaat in het volgende dialoogvenster wilt plaatsen, zie screenshot:
5. En klik dan OK knop, zijn uw geselecteerde gegevens geconverteerd naar:
Gerelateerde artikelen:
Hoe kolommen en rijen in een enkele rij te transponeren / converteren?
Hoe kolommen en rijen in 茅茅n kolom te transponeren / converteren?
Hoe een enkele kolom naar meerdere kolommen in Excel transponeren / converteren?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!