![]() |
Вопрос по Excel
Я настолько обыдлился, что генерирую исходник в Excel.
И столкнулся с такой проблемой: в одной ячейке есть строка типа IdTypeFactor. Нужно её программно преобразовать до строки id_type_factor. То есть самое сложное - перед каждой заглавной буквой ставить подчерк. Или наоборот, после каждого подчерка букву делать заглавной. Есть идеи? |
1) Проверять коды символов, если относится к диапазону заглавных - то разделять подчёркиванием
2) Брать каждый символ, и принудительно делать его заглавным, и сравнивать с оригиналом, типа VB : If char = UCase(char) Then ... Else ... End Id PHP : if (char == strtoupper(char)) {} else {} 3) Юзать регулярку типа [A-ZА-Я] a) С модом возврата смещения и по массиву смещений вхождений получаем позицию каждого заглавного символа и воротим что хотим б) Заменять символ нижний регистр + подчёркивание |
del...недопонял ТС
|
под конец вышло такое
Код:
Function ToField(str) As StringВот только как теперь заставить таблицу пользоваться этой функцией. Не видит... |
Что значит не видит?
Когда ты запускаешь функцию? |
Когда пишу в ячейке =ToField(A2)
|
А чё оно должно собсно работать?
ToField функция не экзеля, а VBA Приделая на событие к ячейки или добавь ещё контролы, которые по нажатию/изменению/etc будут вызывать функцию |
| Время: 08:14 |