Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 11:48   #11
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от competing Посмотреть сообщение
kuklp, стал пример писать - вроде разобрался) просто не туда функцию вставлял. Осталось сделать так чтобы в ячейку при объединении значений из нескольких ячеек заносились все значения кроме нуля и ставился знак препинания (запятая или "или"). Можете помочь?
не могу найти как файл прицепить
Как на картинке.
Изображения
Тип файла: jpg 2011-02-21_104811.jpg (60.1 Кб, 68 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 21.02.2011, 11:52   #12
competing
 
Регистрация: 18.02.2011
Сообщений: 8
По умолчанию

The_Prist, спасибо
competing вне форума Ответить с цитированием
Старый 11.05.2016, 09:43   #13
cherepushka
Пользователь
 
Регистрация: 25.02.2012
Сообщений: 81
По умолчанию

Добрый день, а есть простой способ - вставить знак тире только перед первым числом. Есть код, но он не работает. Помогите пожалуйста

Sub Znak()
Dim cel As Range
Set cel = ActiveSheet.UsedRange
For Each cel In cel.Cells
If IsNumeric(cel.Value) Then ' находим число в ячейке
' если число в ячейке то
cel.NumberFormat = "@" ' переводим в строку
cel = "-" & cel.Value & "-" ' добавляем тире

Next cel

End Sub
cherepushka вне форума Ответить с цитированием
Старый 11.05.2016, 09:51   #14
cherepushka
Пользователь
 
Регистрация: 25.02.2012
Сообщений: 81
По умолчанию

Сколько не смотрел в хэлпе, ничего найти не могу, похоже тут без маски не обойтись. Есть ли в Excel регулярные выражения?
cherepushka вне форума Ответить с цитированием
Старый 11.05.2016, 10:06   #15
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

еще вариант функции в столбце C

Код:
Function uuu%(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d":
    uuu = .Execute(t)(0)
 End With
End Function
Вложения
Тип файла: xls example_11_05_2016_pr_first_digit.xls (34.0 Кб, 13 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 11.05.2016, 10:19   #16
cherepushka
Пользователь
 
Регистрация: 25.02.2012
Сообщений: 81
По умолчанию

А куда можно вставить регулярное выражение? типа
[a-zA-Z]* - любое количество символов до числа \d
cherepushka вне форума Ответить с цитированием
Старый 11.05.2016, 10:21   #17
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

вариант функции uuu1 для #13 в столбце D

Код:
Function uuu1(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d"
    uuu1 = .Replace(t, "-$&")
 End With
End Function
Вложения
Тип файла: xls example_11_05_2016_pr_first_digit1.xls (35.5 Кб, 16 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 11.05.2016, 10:32   #18
cherepushka
Пользователь
 
Регистрация: 25.02.2012
Сообщений: 81
По умолчанию

Спасибо, всё чётко
cherepushka вне форума Ответить с цитированием
Старый 11.05.2016, 10:38   #19
cherepushka
Пользователь
 
Регистрация: 25.02.2012
Сообщений: 81
По умолчанию

Все работает, отлично. Спасибо. Данных очень много и к примеру была строка FFFF15, стала FFFF-15, но есть данные уже с тире и получается АААА--14. Я конечно заменил два тире на одно. Но есть ли возможность указать в коде опережающее правило, которое не действует на два тире. Больше двух тире быть не может.
cherepushka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти k-цифру фибоначчи pizhon1 Помощь студентам 8 17.09.2009 21:28
Заменить автоматически первую букву в ячейке на заглавную. agregator Microsoft Office Excel 2 02.07.2009 18:22
Найти последнюю цифру числа в С++ Vizavi Помощь студентам 4 27.05.2009 21:24
Найти последнюю цифру от числа в Паскале Карабин Помощь студентам 100 17.05.2009 17:34
Найти первую цифру в данных ячейки.. kra183 Microsoft Office Excel 11 09.05.2008 01:35