Преобразовать весь (фамилия) столбец в нижний регистр и удалить пробелы - PullRequest
0 голосов
/ 12 февраля 2019

Код делает то, что должен, но также должен работать, когда я добавляю человека в список.Итак, проблема в первом блоке

Я попытался изменить 3-ю строку на xldown, но это не работает.

Selection.AutoFill Destination:=Range("C2:xlDown")

Я попытался найти решение в Google, но только запутался.Объяснение того, что делает код, приведено ниже кода.

Полный код:

Sub btn_SortLastName()

'Add content of column B into colum C in lowercase
   Range("C2").Select
   ActiveCell.FormulaR1C1 = "=LOWER(RC[-1])"
   Selection.AutoFill Destination:=Range("C2:C26")


'Copy selection
   Range("C2").Select
   Range(Selection, Selection.End(xlDown)).Select
   Selection.Copy

'Paste selection without formating and remove spaces
   Selection.PasteSpecial Paste:=xlPasteValues
   Selection.Replace What:=" ", Replacement:=""

'Sort in decending order
   Range("C1") = "Index"
   Columns("A:C").Sort key1:=Range("C2"), _
   order1:=xlAscending, Header:=xlYes

'Hide column C and set title on C1
   Columns("C").Select
   Selection.EntireColumn.Hidden = True
   Range("C1").Value = "Hidden"

End Sub

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

Пример:

B2:De Wolf    C2:dewolf
B3:De Bisscop C3:debisscop

1 Ответ

0 голосов
/ 12 февраля 2019

Вы должны прочитать , как избежать выбора .

Попробуйте это

Sub btn_SortLastName()

With Range("C2:C" & Range("B" & Rows.Count).End(xlUp).Row)
    .FormulaR1C1 = "=LOWER(RC[-1])"
    .Value = .Value
    .Replace What:=" ", Replacement:=""
End With

Range("C1").Value = "Hidden"
Columns("A:C").Sort key1:=Range("C2"), order1:=xlAscending, Header:=xlYes
Columns("C").EntireColumn.Hidden = True


End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...