2013-04-26 1 views
4

Я понятия не имею, что происходит, но у меня есть ячейки, содержащие то, что кажется возвратной каретой. Я попробовал TRIM(), CLEAN(), =SUBSTITUTE(A1,CHAR(10),"") и несколько макросов, чтобы удалить эти символы.Удалить разрывы строк, вернуть вагоны и все ведущие места в ячейке Excel

Единственный способ удалить эти символы, чтобы активировать ячейку, нажмите «Удалить» рядом с последним символом и нажмите «Ввод».

Есть ли что-то, что мне не хватает? Есть ли способ программно сделать это?

+0

Вы видели [ЭТО?] (Http://stackoverflow.com/questions/16219362/how-do-imove-special-spaces-in-excel-columns) –

+0

Я действительно смотрел на это, хотя решения не решить проблему – Parseltongue

+1

Вы попробовали трюк Alt160? –

ответ

14

Следующий макрос будет удалить все непечатаемые символы и начинаясь и заканчиваясь пространства, использующих Trim() и Clean() функции:

Sub Clean_and_Trim_Cells() 
    Application.ScreenUpdating = False 
    Application.Calculation = xlCalculationManual 
    Dim s As String 
    For Each c In ActiveSheet.UsedRange 
     s = c.Value 
     If Trim(Application.Clean(s)) <> s Then 
      s = Trim(Application.Clean(s)) 
      c.Value = s 
     End If 
    Next 
    Application.ScreenUpdating = True 
    Application.Calculation = xlCalculationAutomatic 
End Sub 
1

Простейшее решением является найти замену: для находки пресса-альта и номер 010 в то в то же время (на клавиатуре 10), а затем замените его пробелом.

Вы можете сделать это как заменитель массы, просто выделив ячейки, которые содержат разрывы каретки.

1

Я попытался

ws.Cells(i, j) = Replace(ws.Cells(i, j), Chr(13), "") 

и добиться успеха.