2017-10-20 15 views
0

Salut je voudrais appliquer le ci-dessous à l'ABV colonne entière AK au lieu de seulement AK1appliquer à la colonne excel vba entière au lieu de cellule

Sub Tidy_Cell() 
Range("AK1") = Replace(Range("AK1"), Chr(13), "") 
For x = 1 To Len(Range("AK1")) 
    If Mid(Range("AK1"), x, 1) = Chr(10) And Mid(Range("AK1"), x + 1, 1) = Chr(10) Then 

    Range("AK1") = Left(Range("AK1"), x) & Mid(Range("AK1"), x + 2) 

    End If 
    Next 
With Range("A1") 
    .Value = Mid(.Value, 1) 
    .VerticalAlignment = xlTop 
End With 
End Sub 

Merci beaucoup pour toute aide!

+0

Essayez d'enregistrer une macro où vous sélectionnez la colonne entière et effectuer ce remplacement (mais peut-être remplacer « un » avec "b" ou quelque chose juste pour tester). Ensuite, voyez si vous pouvez utiliser ce code créé pour modifier le vôtre. – OpiesDad

Répondre

2

Je mettrais tout votre code dans une boucle qui vérifie la colonne AK

dim lLastUsed As Long 
lLastUsed = Cells(1048576, "AK").End(xlUp).Row 
For i = 1 to lLastused 

    //insert your code here 

Next i 

Rappelez-vous tous les endroits que vous avez défini à être Range (« AK1 »), vous devez changer pour Range (« AK » & i) il finit par quelque chose comme ceci:

Sub Tidy_Cell() 
Dim lLastUsed As Long 
lLastUsed = Cells(1048576, "AK").End(xlUp).Row 
For i = 1 to lLastUsed 
    Range("AK" & i) = Replace(Range("AK" & i), Chr(13), "") 
    For x = 1 To Len(Range("AK" & i)) 
    If Mid(Range("AK" & i), x, 1) = Chr(10) And Mid(Range("AK" & i), x + 1, 1) = Chr(10) Then 

     Range("AK" & i) = Left(Range("AK" & i), x) & Mid(Range("AK" & i), x + 2) 

    End If 
    Next x 
Next i 

With Range("A1") 
    .Value = Mid(.Value, 1) 
    .VerticalAlignment = xlTop 
End With 
End Sub 

espoir que cela vous aide

+0

Merci beaucoup! Fonctionne parfaitement bien – AT555