Есть данные в приложенном примере. Нужно удалить все переносы строк. Однако сделать это стандартными методами или с помощью VBA не удалось. Только после нажатия ввода в каждой ячейке, они начинают адекватно удаляться. Собственно вопрос, почему это происходит и как это решить?
Sub ReplaceCrLF()
ReplaceCrLFRange Selection
End Sub
Sub ReplaceCrLFRange(rn As Range)
Dim rf As Range
On Error Resume Next
Set rf = Intersect(rn, rn.Parent.Cells.SpecialCells(xlCellTypeConstants))
On Error GoTo 0
If Not rf Is Nothing Then
Dim txt As String
Dim cl As Range
Dim Application_Calculation As Long
Application_Calculation = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
For Each cl In rf
txt = cl.Value
txt = Replace(txt, vbCr, "")
txt = Replace(txt, vbLf, "")
cl.Value = txt
Next
Application.Calculation = Application_Calculation
Application.EnableEvents = True
End If
End Sub
'Option Base 1
Option Explicit
Option Private Module
'====================================================================================================
Sub Del_vbCrLf()
Dim rpl$
'rpl = "%%%" ' закомментировать, если нужно удаление
' [a2] = Replace$([a1], vbCr, rpl) ' перед кареткой и переносом (vbCrLf) добавится "%%%" (или ничего не произойдёт, если замена на "")
[a2] = Replace$([a1], vbLf, rpl) ' корректная замена (vbCrLf заменены на "%%%" или удалены, если замена на ""). Каретка не хочет быть одна )))
' [a2] = Replace$([a1], vbCrLf, rpl) ' корректная замена
End Sub
'====================================================================================================
+ Замена Ctrl+J на ничего с помощью инструмента Заменить (Ctrl+F) также сработает
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Msi2102, при наличии каретки, замена только переноса, ФОРМУЛОЙ (как в приёме по ссылке) не сработает (у меня на примере не сработала - см выше, но в VBA сработает)
Мой косяк - на скрине видно, что всё нормально, только цвет не тот. Заменил скрин и файл
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄