Добрый вечер, гуру Екселя))) Нужна ваша помощь. Вводные данные: есть название товаров, некоторые слова в названии написаны прописными буквами. Суть задачи: необходимо в словах написанных заглавными буквами заменить все буквы кроме первой на строчные. Файл прикрепляю. Заранее благодарен за помощь
Добрый вечер, гуру Екселя))) Нужна ваша помощь. Вводные данные: есть название товаров, некоторые слова в названии написаны прописными буквами. Суть задачи: необходимо в словах написанных заглавными буквами заменить все буквы кроме первой на строчные. Файл прикрепляю. Заранее благодарен за помощьbooggy
Немного более другой вариант, не все первые буквы заглавляет Выделяете нужный диапазон и жмете кнопку [vba]
Код
Sub tt() ar0 = Selection.Value For i = 1 To UBound(ar0) For j = 1 To UBound(ar0, 2) fl_ = 0 ar = Split(ar0(i, j)) For k = 0 To UBound(ar) If Not IsNumeric(Left(ar(k), 1)) Then If Mid(ar(k), 2) <> LCase(Mid(ar(k), 2)) Then If Left(ar(k), 1) = UCase(Left(ar(k), 1)) Then ar(k) = Application.Proper(ar(k)) fl_ = 1 End If End If End If Next k If fl_ Then ar0(i, j) = Join(ar) End If Next j Next i Selection = ar0 End Sub
[/vba]
Немного более другой вариант, не все первые буквы заглавляет Выделяете нужный диапазон и жмете кнопку [vba]
Код
Sub tt() ar0 = Selection.Value For i = 1 To UBound(ar0) For j = 1 To UBound(ar0, 2) fl_ = 0 ar = Split(ar0(i, j)) For k = 0 To UBound(ar) If Not IsNumeric(Left(ar(k), 1)) Then If Mid(ar(k), 2) <> LCase(Mid(ar(k), 2)) Then If Left(ar(k), 1) = UCase(Left(ar(k), 1)) Then ar(k) = Application.Proper(ar(k)) fl_ = 1 End If End If End If Next k If fl_ Then ar0(i, j) = Join(ar) End If Next j Next i Selection = ar0 End Sub