Fusionner des cellules sans perdre les valeurs en utilisant VBA dans Microsoft Excel
Dans cet article, nous allons créer une macro pour fusionner des valeurs dans deux cellules consécutives.
Les données brutes se composent de données départementales, qui se composent de l’ID de service, du numéro de ligne et du nom.
Dans cet article, nous souhaitons fusionner l’ID de service et le numéro de rôle dans une seule colonne.
Explication du code
Faire jusqu’à IsEmpty (Cells (IntRow, IntCol))
Boucle Le code ci-dessus est utilisé pour boucler jusqu’à ce qu’une cellule vide soit trouvée.
Cellules (IntRow, IntCol) = Cellules (IntRow, IntCol) & « – » & Cells (IntRow, IntCol + 1)
Le code ci-dessus est utilisé pour concatiner les valeurs dans une seule cellule, séparée par «-».
Cells (IntRow, IntCol + 1) .ClearContents Le code ci-dessus est utilisé pour supprimer le contenu de la cellule.
Plage (Cells (IntRow, IntCol), Cells (IntRow, IntCol + 1)). Merge Le code ci-dessus est utilisé pour fusionner deux cellules consécutives ensemble.
With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With Le code ci-dessus est utilisé pour centrer allign le texte horizontalement et verticalement.
Veuillez suivre ci-dessous pour le code
Option Explicit Sub Connects() 'Declaring variables Dim IntRow, IntCol As Integer 'Initializing row and column number of first cell IntRow = 9 IntCol = 1 'Disabling screen updates Application.ScreenUpdating = False 'Looping through cells until blank cell is encountered in first column Do Until IsEmpty(Cells(IntRow, IntCol)) 'Merging value from two cells in the first column Cells(IntRow, IntCol) = Cells(IntRow, IntCol) & " - " & Cells(IntRow, IntCol + 1) 'Clearing content from second column Cells(IntRow, IntCol + 1).ClearContents 'Merging two cells Range(Cells(IntRow, IntCol), Cells(IntRow, IntCol + 1)).Merge 'Moving to next row IntRow = IntRow + 1 Loop 'Formatting the first column Columns(IntCol).Select 'Setting the horizonatal and vertical alignment to center With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With Range("A10").Select End Sub
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]