Страницы: 1
RSS
Найти слово регулярным выражением и преобразовать символы в верхний регистр
 
Добрый вечер.
Код
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "Бюрократ ([\S]*\/) \(([A-z]*)\)"
        For Each Rnb In Selection: Rnb.Value = .Replace(Rnb.Value, "$1" & "$2")
    Next
  End With

Как применить функцию UCase в макросе, что бы при возврате $2 оно записывалось в верхнем регистре.

---

Бюрократ CH-868AXSN/ (Black)

Бюрократ 771/ (Grey)+BL

---

Бюрократ CH-868AXSN/BLACK

Бюрократ 771/GREY+BL

 
Код
.Replace(t, "$1") & UCase(.Replace(t, "$2"))
Соблюдение правил форума не освобождает от модераторского произвола
 
Код
Function Skobki(cell As String)
 With CreateObject("VBScript.RegExp")
   .Global = True
   .IgnoreCase = True
   .Pattern = " \(([A-Z]+)\)"
    Skobki = UCase(.Replace(cell, "$1"))
  End With
End Function
 
Код
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "([\S]*\/) \(([A-z]*)\)"
        For Each Rnb In Selection: Rnb.Value = .Replace(Rnb, "$1") & UCase(.Replace(Rnb, "$2"))
    Next
  End With



buchlotnik, я верно понял?


При таком подходе

Бюрократ CH-868AXSN/ (Black)
превращается
Бюрократ CH-868AXSN/БЮРОКРАТ BLACK

Изменено: DartoArem - 22.12.2019 19:51:16
 
Цитата
DartoArem написал:
я верно понял?
нет
Код
.Pattern = "(Бюрократ [\S]*\/) \(([A-z]*)\)"
Соблюдение правил форума не освобождает от модераторского произвола
 
Хммм.
Бюрократ CH-994AXSN/IVORY
Бюрократ CH-994AXSN/IVORYБЮРОКРАТ CH-994AXSN/IVORY

Кресло руководителя Бюрократ T-9921/ (Brown)
Кресло руководителя Бюрократ T-9915/КРЕСЛО РУКОВОДИТЕЛЯ BROWN

Бюрократ 771/ (Grey)+BL
Бюрократ 771/+BLGREY+BL
Код
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "(Бюрократ [\S]*\/) \(([A-z]*)\)"
        For Each Rnb In Selection: Rnb.Value = .Replace(Rnb, "$1") & UCase(.Replace(Rnb, "$2"))
    Next
  End With
Изменено: DartoArem - 22.12.2019 20:46:56
 
DartoArem,
А моя UDF не подошла?
 
Kuzmich,
Меня интересует в виде макроса который работает на выделенном диапазоне
И как применить UCase на определенную группу, например на $2
 
DartoArem,
Так переделайте UDF в макрос по выделенному диапазону
Страницы: 1
Наверх