Удаление пробелов в ячейках


У меня есть пример кода VBA, который я использую на столе, чтобы удалить пробелы в ячейках. Я хочу спросить, если у кого-то есть лучше и быстрее путь к Trim функция в таблице, чем то, что у меня есть:

Это образец:

If Sheets("Main").Cells(8, 6) = 1 Then
    strName = Sheets("Main").Cells(8, 3)
    Workbooks.Open Filename:="V:\á÷øåú ùëø\ãåçåú\ãåçåú çæåúééí\ãåçåú ìäîøä\exhr0101.csv"
    Columns(7).Delete
    Cells.Select
    Selection.Copy
    Windows("Trim all cells.xlsm").Activate
    Sheets("Data").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'ñâéøú çæåúé î÷åø
    Windows("exhr0101.csv").Activate
    Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    'áéöåò Trim
    Windows("Trim all cells.xlsm").Activate
    Sheets("Data").Select
    For Each cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
    cell = WorksheetFunction.Trim(cell)
    Next cell
    'äãá÷ä áâéìéåï äãá÷ä
    Cells.Select
    Selection.Copy
    Sheets("Target").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Вот мои конкретные детали:

For Each cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
cell = WorksheetFunction.Trim(cell)
Next cell


81
0
задан 18 февраля 2018 в 02:02 Источник Поделиться
Комментарии
2 ответа

Вы можете избежать петли.

 With Activesheet.UsedRange
.Value = Application.Trim(.Value)
End With

Внимание: выдаст ошибку, если какая-либо ячейка содержит более 255 знаков.

3
ответ дан 18 февраля 2018 в 05:02 Источник Поделиться

Вам не нужно иметь данные на определенный лист, чтобы использовать ленты, или любой макрос на то пошло. Похоже, что вы копируете данные из листа "отсечь все клетки.файл xlsm". В реальности, если вы просто книгу открыть и убедитесь, что активная ячейка находится на книга, которую вы хотите обрезать, вы должны быть хорошо.

Также, установив приложение.Свойство screenupdating false, прежде чем вы запустите код значительно его ускорить. Просто убедитесь, что вы установите его в true в конце кода.

0
ответ дан 18 февраля 2018 в 04:02 Источник Поделиться