Excel - Copier les données à côté d'une cellule et les coller ci-dessous

Problème

J'ai des données arrangées comme ci-dessous:

 cellule | A | B | C ----------------------------------------------------- --- 1 | Salut | Bonjour | Matin 2 | Aide | S'il vous plaît | 3 | Merci | Vous voir | Au revoir 

j'ai besoin de faire ces données pour devenir ce format

 cellule | A | B | C ----------------------------------------------------- - 1 | Salut | Bonjour | Matin 2 | | Matin | ---------------------------------------------- 3 | Aide | S'il vous plaît | ---------------------------------------------- 4 | Merci | Vous voir | Au revoir 5 | | Au revoir | ---------------------------------------------- 

Je me rends compte que certaines conditions doivent prendre en compte:

Pour vérifier si C1 contient ou non des données,

  • 1) si oui, copiez les données dans la cellule B2 (une cellule relativement à gauche et inférieure à C1)

Puis soulignez continuellement sous la cellule B2

  • 2) si non, soulignez et continuez avec la rangée suivante
  • 3) continuez jusqu'à la dernière cellule contenant des données

Solution

  • Commencez par copier les données de la feuille2.
  • Ensuite, essayez la macro "test"

 Sous-test () Dim j As Entier, k As Entier Feuilles de calcul ("feuille1"). Activez j = Plage ("A1"). Fin (xlDown) .Row Pour k = j À 1 Étape -1 If Cells (k, " C ")" "Alors si k = 1 Alors les cellules (k + 1, " A "). EntireRow.Insert Cells (k, " c "). Cellules coupées (k + 1, " B ") Cellules (k + 2, "A"). EntireRow.FormulaArray = "'-----------------" Quitter Sub End If Cells (k, "A"). EntireRow.Insert Cells (k + 1, "C"). Cellules coupées (k + 2, "B") Cellules (k + 3, "A"). EntireRow.FormulaArray = "'--------------- - "Autres cellules (k, " A "). EntireRow.Insert Cells (k + 2, " a "). EntireRow.FormulaArray =" '----------------- "Fin si prochain k Fin Sub Sous Feuilles de travail undo () (" feuille1 "). Cells.Clear Feuilles de travail (" feuille2 "). Cells.Copy feuilles de travail (" feuille1 "). Plage (" A1 ") End Sub 

Notez que

Merci à venkat1926 pour cette astuce sur le forum.

Article Précédent Article Suivant

Les Meilleurs Conseils