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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 15:54   #1
Palomnik1096
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 83
По умолчанию Проверка строки на наличие цифр

Добрый день, пытаюсь освоить vba, подскажите пжт как проверить строку на наличие цифр в ней

И еще пользователь вводит сторку в Input'e, как проверить эту строку, чтобы в ней было не менее 2-х цифр расположенных в любой последовательности, например пользователь ввел ФФФ2ФФФ3, как проверить эту строку на наличие цифр и чтобы их было не менее 2-х
Palomnik1096 вне форума Ответить с цитированием
Старый 14.11.2010, 16:25   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
...как проверить эту строку на наличие цифр и чтобы их было не менее 2-х
Например, так:
Код:
If InputBox("Ввод") Like "*#*#*" Then MsgBox "Ввод правильный"
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 14.11.2010, 16:28   #3
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Попробуй Like
Опередили пока писал
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 14.11.2010, 16:31   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вот пара-тройка функций, которые можно использовать - просто посчитать длину полученной строки:

Код:
Function GetNumeric(t As Range)
Dim j As Integer, l As String
For j = 1 To Len(t)
If IsNumeric(Mid(t, j, 1)) Then l = l & Mid(t, j, 1)
Next j
GetNumeric = Val(l)
End Function

Public Function ExtractNumber(S As String)
Dim i As Integer, str As String
For i = 1 To Len(S)
If InStr(1, "1234567890,", Mid(S, i, 1)) <> 0 Then str = str & Mid(S, i, 1)
Next
ExtractNumber = str
End Function

Function NumbersOnly(srcStr As String) As String
Dim objRegEx As Object
Set objRegEx = CreateObject("VBScript.RegExp")
    With objRegEx
        .Global = True
        .Pattern = "[^0-9,]" '"\D"
        NumbersOnly = .Replace(srcStr, vbNullString)
    End With
Set objRegEx = Nothing
End Function

Function Num(Текст As String) As Long
For n = 1 To Len(Текст)
If Mid(Текст, n, 1) Like "#" Then Num = Num & Mid(Текст, n, 1)
Next n
End Function
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анализ введённой строки на наличие цифр neme4ta Общие вопросы по Java, Java SE, Kotlin 4 10.06.2010 00:08
Проверка на наличие файла ruavia3 Microsoft Office Excel 1 05.02.2010 21:13
Проверка на наличие файла Vladya Общие вопросы Delphi 7 10.10.2009 01:26
Проверка на наличие в массиве istoe Microsoft Office Excel 8 26.08.2009 11:55
Проверка на наличие файла Demetrius Помощь студентам 12 28.07.2009 00:27