Comment diviser la valeur d'adresse au-dessus d'une seule cellule en plusieurs valeurs de cellule via une macro

-1

Comment diviser la valeur de cellule unique ci-dessous en plusieurs valeurs de cellule via macro?

Donc ça...

A1 = MISS FirstName LastName***95*SPECIAL ROAD**LONDON SW92**SW929AB

... devrait diviser comme ci-dessous,

B1 = MISS
C1 = FirstName 
D1 = LastName
E1 = 95 SPECIAL ROAD
F1 = LONDON SW92
G1 = SW929AB

Quelqu'un peut aider à ce sujet?

user323020
la source
3
Est-ce que ce sont de vraies données personnelles que vous partagez là-bas? Je vous encourage fortement à l'enlever si c'est le cas.
slhck
vos délimiteurs sont donc des espaces et des chaînes d'astérisque plus longs que 1? Mais pas toujours?
Raystafarian
Les données sont quelque peu sans importance, tant que la structure reste intacte. Comme nous ne pouvons pas dire si les données que vous avez utilisées étaient réelles ou non, je les ai modifiées
Dave

Réponses:

2

Basé sur la démo que vous avez donnée, et sur le fait que vous avez écrit "Comment diviser la valeur de cellule unique en plusieurs valeurs de cellule par le biais de la macro ci-dessous,"

Sub Button1_Click()
Dim address() As String
address() = Split(Range("A1").Value, "**")

Dim col As Integer
col = 66

    For Each Item In address

        If (col = 66) Then

            For Each Name In Split(Item, " ")
                Range(Chr(col) & 1).Value = Trim(Name)
                col = col + 1
            Next Name

        Else

        Dim newValue As String
        newValue = Replace(Item, "*", " ")

            If (newValue <> "") Then
                Range(Chr(col) & 1).Value = Trim(newValue)
                col = col + 1
            End If

        End If

    Next Item

End Sub
Dave
la source
1
C'est vraiment intelligent, malgré l'utilisation d'un tableau non dimensionné. +1
Raystafarian