2009-12-16 16 views

Répondre

1

Edit: Désolé, n'a pas lu vos questions correctement ...

Vous pouvez écrire un script vba comme ça:

Sub test() 
    Dim result As String 
    result = Replace(ActiveCell.value, Chr(10), ";") 
    ActiveCell.Offset(1, 0).Select 
    ActiveCell.value = result 
End Sub 

Il prendra la cellule active, remplacer tous les sauts de ligne par des points-virgules et mettre le résultat dans la ligne suivante.

Edit: Une autre version faire cela pour plusieurs cellules:

Sub test() 
    Dim value As String 
    Do 
    value = ActiveCell.value 
    If (value = "") Then Exit Do 
    ActiveCell.Offset(0, 1).value = Replace(ActiveCell.value, Chr(10), ";") 
    ActiveCell.Offset(1, 0).Select 
    Loop While (True) 
End Sub 

Cette version commencera à la cellule active et boucle à travers toutes les cellules ci-dessous jusqu'à ce qu'il trouve une cellule vide.

La valeur remplacée est écrite dans la cellule à côté de la valeur d'origine. Si vous souhaitez remplacer la valeur d'origine, supprimez .Offset(0, 1).

Le deuxième paramètre est la valeur à remplacer, c'est Chr(10), le Newline character dans notre cas.

+0

O/p est 1234 \ n567 \ n454; --- \ n indique une nouvelle ligne –

+0

Désolé, a changé ma réponse –

+0

Excellent! Merci pour l'édition –