Maison > Article > tutoriels informatiques > Comment convertir plusieurs lignes et colonnes de données dans EXCLE en une seule colonne
Option Base 1
Plage de sous-cellules sauf les espaces()
Dim my As Range, my1(), c As Range
Dim p As Long
Dim i As Long
Set my = Application.InputBox(Prompt:="Utilisez la souris pour sélectionner une plage de cellules", Type:=8)
p = mon.Count
i = 1
ReDim mon1(p, 1)
Pour chaque c dans mon
Si c.Value "" Alors
my1(i, 1) = c.Valeur
i = i + 1
Fin si
Suivant c
Set my = Application.InputBox(Prompt:="Utilisez la souris pour sélectionner la première cellule à afficher", Type:=8)
Application.ScreenUpdating = False
Si i = 1 Alors
mon = mon1
Autre
Range(my, my.Offset(i - 2, 0)) = my1
Fin si
Application.ScreenUpdating = Vrai
MsgBox "Terminé."
Fin du sous-marin
Ce code peut réaliser ce que vous voulez.
Référence d'opération
Vous pouvez vous référer à la question "Aide : Existe-t-il un moyen de convertir par lots des lignes en colonnes" à laquelle j'ai répondu hier dans ""
Autrement dit, convertissez les 3 lignes du haut en 2 colonnes du bas, je ne sais pas si c'est ce que cela signifie !
1. Entrez la formule dans la cellule A10 :
=OFFSET($A$1,INT((ROW(A1)-1)/10),MOD(ROW(A1)-1,10))
Copier et dérouler
2. Entrez la formule dans la cellule B10 :
=IF(OFFSET($A$1,INT((ROW(B1)-1)/10),MOD(ROW(B1)+9,10)+1)="","",OFFSET($A$1 ,INT((ROW(B1)-1)/10),MOD(ROW(B1)+9,10)+1))
Copier et dérouler
3. Sélectionnez la zone A10:B39, faites un clic droit pour copier - cliquez à nouveau avec le bouton droit - Coller spécial - Valeur
La zone de données de A10:B39 est formée, toutes les formules ont disparu et toutes les cellules deviennent des données.
4. Triez et supprimez les lignes avec des espaces dans la colonne B. C'est tout.
E2=IF(ROW(A1)>COUNTA($A$2:$D$9),"",INDIRECT(TEXT(SMALL(IF($A$2:$D$9"",ROW($A$2:$D $9)*100+COLONNE($A$2:$D$9),99^9),ROW(A1)),"r0c00"),))
F2=IF(ROW(A1)>COUNTA($A$2:$D$9),"",INDEX($A$1:$D$9,MOD(SMALL(IF($A$2:$D$9"", LIGNE($A$2 :$D$9)/100+COLUMN($A$2 :$D$9),99^9),ROW(A1)),1)*100,INT(SMALL(IF($A$2 : $D$9"",ROW($A$2:$D$9)/100+COLONNE($A$2:$D$9),99^9),ROW(A1))))
Copiez la formule matricielle vers le bas [Formule matricielle, après avoir entré la formule, placez le curseur dans la barre d'édition de la formule et appuyez sur CTRL+MAJ+Entrée pour que la formule matricielle prenne effet]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!