Concaténer plusieurs plages à l'aide de vba

J'ai un certain nombre de plages à concaténer indépendamment et de mettre les valeurs de la concaténation des fourchettes de cellules différentes.

Je veux:

concaténer des valeurs dans la Plage A1:A10 et de mettre le résultat en F1

puis concaténer la Plage B1:B10 et mettre le résultat dans F2

puis concaténer la Plage C1:C10 et mettre le résultat dans F3 etc.

La macro suivante concatène la plage A1:A10 puis met les résultats en F1 (qui est ce que je veux). Cependant il stocke également les informations de la première concaténation dans la mémoire de sorte que quand il fait le à côté de concaténation, dans la cellule F2-je obtenir la concaténation des résultats de la F1 et F2 rejoint.

Sub concatenate()

    Dim x As String
    Dim Y As String

For m = 2 To 5

    Y = Worksheets("Variables").Cells(m, 5).Value 

    'Above essentially has the range information e.g. a1:a10 in sheet variables

    For Each Cell In Range("" & Y & "") 'i.e. range A1:A10
        If Cell.Value = "" Then GoTo Line1 'this tells the macro to continue until a blank cell is reached
        x = x & Cell.Value & "," 'this provides the concatenated cell value
    Next

Line1:

    ActiveCell.Value = x

    ActiveCell.Offset(1, 0).Select

Next m

End Sub
  • Juste avant Next m insérer simple déclaration: x=""
  • Oh, Génial! J'ai perdu toute ma journée sur ce! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!! Merci!!!!
InformationsquelleAutor user2259146 | 2013-04-08