2014-12-02 1 views
-1

Если я использую функцию Trim with Replace как MyCell.Value = Trim(Replace(MyCell.Value, Chr(160), Chr(32))), она удаляет мои ведущие нули.Я хотел бы удалить завершающие нули из excel. Но когда я пытаюсь использовать функцию-заменитель, я получаю функцию не определенную ошибку

Sub TrimText() 
    Dim MyCell As Range 
    On Error Resume Next 
     Selection.Cells.SpecialCells(xlCellTypeConstants, 23).Select 
     For Each MyCell In Selection.Cells 
      MyCell.Value = TRIM(SUBSTITUTE(G7, CHAR(160), " ")) 
     Next 
    On Error GoTo 0 
End Sub 
+0

'MyCell.Value' хочет получить значение, а не формулу (и ваша формула не цитируется) –

+0

Исправлены ли ваши основные нули? – rusk

+0

Исправлено ли количество цифр (с одним или несколькими ведущими нулями) после удаления начальных и конечных пробелов? – Jeeped

ответ

-1

Ваша проблема не Substitute функция, но CHAR. Вместо этого используйте Chr.

UPDATE

К сожалению, также Подставим неправильно. Напишите WorksheetFunction.Substitute(...).

SUBSTITUTE и CHAR просто работают как функции Excel, но не как функции VBA так, как вы их используете.

+0

Я изменил использование Chr, но он все еще показывает мне «Function not defined» :( –

+0

Да, я исправил свое сообщение :-) – Fratyx

+0

Я тоже пробовал это, теперь вся ценность стирается. Есть ли другой способ удалить конечные пробелы, не удаляя ведущие нули в макросе. Я понятия не имею, так как я новичок в Macro –

0
Sub TrimText() 
    Dim MyCell As Range 
    On Error Resume Next 
     Selection.Cells.SpecialCells(xlCellTypeConstants, 23).Select 
     For Each MyCell In Selection.Cells 
      'Range("K:K").Select 
      Selection.NumberFormat = "@" 
      MyCell.Value = Trim(Replace(MyCell.Value, Chr(160), Chr(32))) 
     Next 
    On Error GoTo 0 
End Sub 
+0

Я отформатировал ваш блок кода, но мне любопытно, что 'Range (« K: K »). Выбор' предназначен для использования и почему в цикле повторяется формат числа для целого столбца. Кажется, когда-то этого должно быть достаточно. Предложение или два, чтобы объяснить, что вы предлагаете в качестве решения, долгий путь к созданию качественного сообщения. – Jeeped

+0

Эй, извините, я удалил его, поскольку я использовал его в качестве ссылки на тест. –

Смежные вопросы