2009-12-20 11 views
0

im nouveau à ceci et je veux poser une question si n'importe qui peut aider. Im travaillant avec Excel 2003 et ce que je veux est que j'ai une colonne qui à la cellule A1 j'ai nom et dans la cellule A2 j'ai nom, dans la cellule A3 j'ai nom et dans la cellule A4 j'ai nom et ainsi de suite. Ce que je veux faire est de fusionner la cellule A1 avec A2 et puis A3 avec A4 et ainsi de suite. c'est environ 3000 lignes.je veux fusionner des cellules avec vba

Y at-il un code vba pour le faire automatiquement?

Répondre

0

Vous n'avez pas vraiment besoin d'un programme VBA pour cela, il suffit d'utiliser les formules Excel comme si:

  1. Dans la colonne à côté de vos noms remplir une liste séquentielle des numéros commençant par 1. Donc, cela devrait avoir 1, 2, 3, 4 et ainsi de suite. Vous pouvez aller au bas de votre colonne A, mais à mi-chemin, ça ira. Pour le faire rapidement, tapez 1 dans la première rangée (B1), puis dans la seconde (B2) ajoutez une formule: =B1+1. Copiez ensuite cette formule tout le long de la colonne B dans la mesure de la colonne A. L'astuce ici est d'aller à B2, sélectionnez Edition/Copier, puis déplacez vers une colonne et Ctrl-Bas, déplacez-vous vers la colonne B puis utilisez Shift + Ctrl-Up, puis collez.

  2. Dans la colonne C vous mettrez une formule pour fusionner deux cellules ensemble d'une colonne, comme si:

    =INDEX($A$1:$A$<ENDROW>,(B1-1)*2+1,1)&" "&INDEX($A$1:$A$<ENDROW>,(B1-1)*2+2,1)

    Où <EndRow> est la dernière ligne A.

    Copy cette formule descend au moins la moitié des rangées de la colonne A. Si vous allez au-delà, vous obtiendrez #REF! Erreur; juste effacer ces cellules.

  3. Maintenant, vous voulez copier les formules dans C à une autre colonne, disons D. Sélectionnez-les, utilisez Edition/Copier, puis déplacez vers D1 et faites un clic droit et choisissez "Collage spécial". Dans la boîte de dialogue, cliquez sur "Valeurs" puis sur "OK". Vous avez maintenant une colonne avec les valeurs de chaque deux lignes concaténées ensemble.

+0

Thanx kevin mais quand je copier et coller ce code que u m'a écrit excel dit cela est faux. excel ne l'a pas accepté On pense que j'ai oublié de vous dire c'est qu'il est possible de supprimer les cellules vides – savvas

+0

Vous avez des cellules vides? Comment cela apparaît-il dans vos données? Précisez s'il vous plaît. En ce qui concerne le collage de cette formule, vous êtes-vous souvenu de remplacer le «» par un numéro de rangée? J'ai copié ce droit sur Excel, même si j'ai 2007 mais la fonction INDEX est également incluse avec 2003. –

0

pour ce faire dans ABV:

Sub nameMerger() 

Range("A1").Select 

While ActiveCell.Value <> vbNullString 

    ActiveCell.Value = ActiveCell.Value & " " & ActiveCell.Offset(0, 1).Value 
    ActiveCell.Offset(0, 1).EntireColumn.Delete 
    ActiveCell.Offset(0, 1).Select 

Wend 

End Sub 

testé et fonctionne

Questions connexes