Comment transposer des colonnes en lignes et insérer de nouvelles lignes pour remplir des données dans Excel?
Dans cet article, j'introduis un code VBA pour transposer les colonnes en lignes et insérer de nouvelles lignes pour remplir les données comme illustré ci-dessous, si vous êtes intéressé par cette opération, veuillez consulter ci-dessous pour plus de détails.
Transposer et insérer des lignes avec VBA
Transposer et insérer des lignes avec VBA
Il n'y a pas de moyen direct de transposer une plage et d'insérer des lignes pour remplir les mêmes données, mais ici, je peux introduire un code VBA pour résoudre rapidement cette tâche.
1. presse Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre.
2. Cliquez insérer > Moduleet collez ci-dessous le code VBA dans la fenêtre Module. Voir la capture d'écran:
VBA: transposez et insérez des lignes.
Sub TransposeInsertRows()
'UpdatebyExtendoffice20161125
Dim xRg As Range
Dim i As Long, j As Long, k As Long
Dim x As Long, y As Long
Set xRg = Application.InputBox _
(Prompt:="Range Selection...", _
Title:="Kutools For Excel", Type:=8)
Application.ScreenUpdating = False
x = xRg(1, 1).Column + 2
y = xRg(1, xRg.Columns.Count).Column
For i = xRg(xRg.Rows.Count, 1).Row To xRg(1, 1).Row Step -1
If Cells(i, x) <> "" And Cells(i, x + 1) <> "" Then
k = Cells(i, x - 2).End(xlToRight).Column
If k > y Then k = y
For j = k To x + 1 Step -1
Cells(i + 1, 1).EntireRow.Insert
With Cells(i + 1, x - 2)
.Value = .Offset(-1, 0)
.Offset(0, 1) = .Offset(-1, 1)
.Offset(0, 2) = Cells(i, j)
End With
Cells(i, j).ClearContents
Next j
End If
Next i
Application.ScreenUpdating = True
End Sub
3. presse F5 pour exécuter le code, puis sélectionnez la plage de données que vous souhaitez transposer et insérer des lignes dans la boîte de dialogue contextuelle. Voir la capture d'écran:
4. Cliquez OK. Et la plage sélectionnée a été convertie comme illustré ci-dessous.
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!