Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/пересчитать цифры в ячейке, если есть и буквы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » пересчитать цифры в ячейке, если есть и буквы (Макросы/Sub)
пересчитать цифры в ячейке, если есть и буквы
AmeliSky Дата: Воскресенье, 01.06.2014, 13:30 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
доброго времени суток, форумчане!

в столбце:

ЛАВ718230240-ТРИУМФ
ЛАВ71821236ТРУДОВЫЕ
ЛАВ71821235ТАСМА
ЛАВ71821234КАСАТКА
ЛАВ718230235-АКБУРЕ

как написать код, что бы шел пересчет цифр после букв? и если цифр 9, то он закрашивал ячейку в какой то цвет. например, по первой строке цифр 9, нужно ячейку закрасить, а следующий счет верен (после букв 8 цифр) ячейку закрашивать не надо.
 
Ответить
Сообщениедоброго времени суток, форумчане!

в столбце:

ЛАВ718230240-ТРИУМФ
ЛАВ71821236ТРУДОВЫЕ
ЛАВ71821235ТАСМА
ЛАВ71821234КАСАТКА
ЛАВ718230235-АКБУРЕ

как написать код, что бы шел пересчет цифр после букв? и если цифр 9, то он закрашивал ячейку в какой то цвет. например, по первой строке цифр 9, нужно ячейку закрасить, а следующий счет верен (после букв 8 цифр) ячейку закрашивать не надо.

Автор - AmeliSky
Дата добавления - 01.06.2014 в 13:30
Pelena Дата: Воскресенье, 01.06.2014, 13:47 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19197
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Обязательно код? Условное форматирование не подойдёт с формулой
Код
=СЧЁТ(--ПСТР(A1;СТРОКА($1:$99);1))<>8


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Обязательно код? Условное форматирование не подойдёт с формулой
Код
=СЧЁТ(--ПСТР(A1;СТРОКА($1:$99);1))<>8

Автор - Pelena
Дата добавления - 01.06.2014 в 13:47
nilem Дата: Воскресенье, 01.06.2014, 13:59 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
или
[vba]
Код
Sub ertert()
Dim rng As Range, r As Range
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
rng.Interior.ColorIndex = xlNone
With CreateObject("VBScript.RegExp")
     .Pattern = "[^0-9]+[0-9]{9,9}[^0-9]"
     For Each r In rng
         If .Test(r) Then r.Interior.ColorIndex = 43
     Next r
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеили
[vba]
Код
Sub ertert()
Dim rng As Range, r As Range
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
rng.Interior.ColorIndex = xlNone
With CreateObject("VBScript.RegExp")
     .Pattern = "[^0-9]+[0-9]{9,9}[^0-9]"
     For Each r In rng
         If .Test(r) Then r.Interior.ColorIndex = 43
     Next r
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 01.06.2014 в 13:59
AmeliSky Дата: Воскресенье, 01.06.2014, 17:56 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Pelena, т.е., получается, нужно создать новое правило?
 
Ответить
СообщениеPelena, т.е., получается, нужно создать новое правило?

Автор - AmeliSky
Дата добавления - 01.06.2014 в 17:56
Pelena Дата: Воскресенье, 01.06.2014, 18:19 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19197
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Выделить диапазон и создать правило, используя формулу.
Был бы файл с примером, можно было бы показать на Вашей таблице


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВыделить диапазон и создать правило, используя формулу.
Был бы файл с примером, можно было бы показать на Вашей таблице

Автор - Pelena
Дата добавления - 01.06.2014 в 18:19
AmeliSky Дата: Воскресенье, 01.06.2014, 18:29 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Pelena, прикрепила.
К сообщению приложен файл: __.xlsx (87.5 Kb)
 
Ответить
СообщениеPelena, прикрепила.

Автор - AmeliSky
Дата добавления - 01.06.2014 в 18:29
Pelena Дата: Воскресенье, 01.06.2014, 18:33 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19197
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Вот видите, оказывается, цифры и в конце текста есть. Считать надо те, что до дефиса? Перед цифрами всегда три буквы?
В общем, посмотрите такой вариант
К сообщению приложен файл: -23.xlsx (88.3 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВот видите, оказывается, цифры и в конце текста есть. Считать надо те, что до дефиса? Перед цифрами всегда три буквы?
В общем, посмотрите такой вариант

Автор - Pelena
Дата добавления - 01.06.2014 в 18:33
AmeliSky Дата: Воскресенье, 01.06.2014, 19:03 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Pelena, да, всегда только 3 буквы. нужно посчитать количество цифр после них. если там 9 цифр, то выделить ячейку. если 8, то оставляем как есть.
 
Ответить
СообщениеPelena, да, всегда только 3 буквы. нужно посчитать количество цифр после них. если там 9 цифр, то выделить ячейку. если 8, то оставляем как есть.

Автор - AmeliSky
Дата добавления - 01.06.2014 в 19:03
AmeliSky Дата: Воскресенье, 01.06.2014, 19:10 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Pelena, спасибо большое за помощь
 
Ответить
СообщениеPelena, спасибо большое за помощь

Автор - AmeliSky
Дата добавления - 01.06.2014 в 19:10
AlexM Дата: Воскресенье, 01.06.2014, 20:29 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Правило УФ может быть такое
Код
=-ПСТР($L1;4;9)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 01.06.2014, 20:29
 
Ответить
СообщениеПравило УФ может быть такое
Код
=-ПСТР($L1;4;9)

Автор - AlexM
Дата добавления - 01.06.2014 в 20:29
AmeliSky Дата: Понедельник, 02.06.2014, 08:57 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AlexM, спасибо большое. только я не пойму, зачем перед функцией ПСТР стоит знак "-".
 
Ответить
СообщениеAlexM, спасибо большое. только я не пойму, зачем перед функцией ПСТР стоит знак "-".

Автор - AmeliSky
Дата добавления - 02.06.2014 в 08:57
AlexM Дата: Понедельник, 02.06.2014, 09:43 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Код
ПСТР($L1;4;9)
Вырезает 9 символов из строки, начиная с четвертого символа.
Эти 9 символов могут быть числом, а могут быть и текстом. Знак минус неред значением равносилен умножению на -1.
Если умножить число на -1 получим число, а если текст - получим ошибку.
Для логических операций любое число ИСТИНА, все остальное ЛОЖЬ. Это на 100% верно для формул в УФ.
О минусах перед значением можно прочесть СТАТЬЮ



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Код
ПСТР($L1;4;9)
Вырезает 9 символов из строки, начиная с четвертого символа.
Эти 9 символов могут быть числом, а могут быть и текстом. Знак минус неред значением равносилен умножению на -1.
Если умножить число на -1 получим число, а если текст - получим ошибку.
Для логических операций любое число ИСТИНА, все остальное ЛОЖЬ. Это на 100% верно для формул в УФ.
О минусах перед значением можно прочесть СТАТЬЮ

Автор - AlexM
Дата добавления - 02.06.2014 в 09:43
AmeliSky Дата: Понедельник, 02.06.2014, 09:49 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AlexM, еще раз спасибо.
 
Ответить
СообщениеAlexM, еще раз спасибо.

Автор - AmeliSky
Дата добавления - 02.06.2014 в 09:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » пересчитать цифры в ячейке, если есть и буквы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!