Я не знаю, как создать полный код в VBA, но я могу понять некоторые части кода.
Я хотел код VBA, который можно было бы применить к ячейкам с текстами, числами и пробелами удалить пробелы слева и справа от текстов или цифр.
Чтобы исправить это, мне нужно вручную выполнить «ctrl + u» в Word (найти и заменить), но я бы хотел, чтобы эти пробелы были удалены в самом Excel, и для этого я хотел бы использовать код VBA, так как я применяю формулы в каждой ячейке моей таблицы (что здорово), и это даст мне много работы. Формула, которая работает для меня ячейка за ячейкой, такова:
Для чисел:
=TRIM(SUBSTITUTE(A1;CHAR(160);CHAR(32)))*1
Для текстов и пустых ячеек:
=TRIM(SUBSTITUTE(A1;CHAR(160);CHAR(32)))
Я нашел этот код VBA на inte rnet, но это не решает мой случай (что мне показалось интересным, так это то, что он генерирует окно с просьбой выбрать ячейки, в которых будут удалены пробелы). Вот код:
Sub Clear()
Dim rLocal As Range
'Assignment of variables
Set rLocal = Application.InputBox(Prompt:="Select the cells you want to clear...", Type:=8)
rLocal.Replace What:=" ", Replacement:=""
End Sub
Я нашел в этом топи c следующий код, который работал для меня, когда я менял "" на "". Но он, кажется, довольно тяжелый и, кажется, делает одну и ту же замену несколько раз. Вот код:
Public Sub RemoveSpaceInString()
Dim myCell As Range
For Each myCell In Selection
myCell = Trim(myCell)
myCell = Replace(myCell, vbTab, "")
myCell = Replace(myCell, " ", "")
myCell = Replace(myCell, Chr(160), "")
Next myCell
End Sub
Кто-нибудь может мне помочь? Если создать Application.InputBox невозможно, код внесет это изменение для всех электронных таблиц в книге Excel.
Спасибо.
Я жду помощи.
João