ant6729
Дата: Воскресенье, 16.12.2018, 20:09 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Всем привет Есть строки на листе ексель 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | Bsw::Mappable::checkValues:a_sCheck=LttKnzTpaTrg=1 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | LvsTemTpmDeflt::mldTpaAufl() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | | LvsTpmSqlCrsTpaOnTe::openCursor:PARAMETER : |TeNam=1001286| 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | | SqlStat::checkDbRet:TRUE SqlCode:NotFound (gueltig:Ok|NotFound|MultFound Rows:0) 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | TomFrwWwsLgo::zubTe() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | LvsTemWemTeAvis::mld:TeStraOld=WELLE,BucheWe_TeStraLst= 10:05:17,230 0 ms 437 ms DEB | | | | | | | TemFrwUmpWe::mld() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | TemFrwUmpWe::mld:PlNamOut=FZG00009000, PlNamNeu=MZ1001AP000 Как регулярными выражениями в цикле вытянуть 230 в переменную в msgbox? Знаю, как формулами, типа [vba]Код
m = Int(Left(s, m = Split((Split(s, " ")(0)), ",")(1) m = Int(Left(Split(s, ",")(1), 3))
[/vba] Знаю, что скорее всего, в регулярных выражениях \d{3} - вытянет ту часть текста, которая нужна, т.е.цифры после запятой Знаю, что for next понадобиться, но не знаю, как регулярные выражение в коде записать, прошу подскажите, пожалуйста.
Всем привет Есть строки на листе ексель 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | Bsw::Mappable::checkValues:a_sCheck=LttKnzTpaTrg=1 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | LvsTemTpmDeflt::mldTpaAufl() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | | LvsTpmSqlCrsTpaOnTe::openCursor:PARAMETER : |TeNam=1001286| 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | | SqlStat::checkDbRet:TRUE SqlCode:NotFound (gueltig:Ok|NotFound|MultFound Rows:0) 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | TomFrwWwsLgo::zubTe() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | LvsTemWemTeAvis::mld:TeStraOld=WELLE,BucheWe_TeStraLst= 10:05:17,230 0 ms 437 ms DEB | | | | | | | TemFrwUmpWe::mld() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | TemFrwUmpWe::mld:PlNamOut=FZG00009000, PlNamNeu=MZ1001AP000 Как регулярными выражениями в цикле вытянуть 230 в переменную в msgbox? Знаю, как формулами, типа [vba]Код
m = Int(Left(s, m = Split((Split(s, " ")(0)), ",")(1) m = Int(Left(Split(s, ",")(1), 3))
[/vba] Знаю, что скорее всего, в регулярных выражениях \d{3} - вытянет ту часть текста, которая нужна, т.е.цифры после запятой Знаю, что for next понадобиться, но не знаю, как регулярные выражение в коде записать, прошу подскажите, пожалуйста. ant6729
Сообщение отредактировал ant6729 - Воскресенье, 16.12.2018, 23:02
Ответить
Сообщение Всем привет Есть строки на листе ексель 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | Bsw::Mappable::checkValues:a_sCheck=LttKnzTpaTrg=1 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | LvsTemTpmDeflt::mldTpaAufl() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | | LvsTpmSqlCrsTpaOnTe::openCursor:PARAMETER : |TeNam=1001286| 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | | SqlStat::checkDbRet:TRUE SqlCode:NotFound (gueltig:Ok|NotFound|MultFound Rows:0) 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | | TomFrwWwsLgo::zubTe() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | | LvsTemWemTeAvis::mld:TeStraOld=WELLE,BucheWe_TeStraLst= 10:05:17,230 0 ms 437 ms DEB | | | | | | | TemFrwUmpWe::mld() 10:05:17,230 0 ms 437 ms DEB | | | | | | | | TemFrwUmpWe::mld:PlNamOut=FZG00009000, PlNamNeu=MZ1001AP000 Как регулярными выражениями в цикле вытянуть 230 в переменную в msgbox? Знаю, как формулами, типа [vba]Код
m = Int(Left(s, m = Split((Split(s, " ")(0)), ",")(1) m = Int(Left(Split(s, ",")(1), 3))
[/vba] Знаю, что скорее всего, в регулярных выражениях \d{3} - вытянет ту часть текста, которая нужна, т.е.цифры после запятой Знаю, что for next понадобиться, но не знаю, как регулярные выражение в коде записать, прошу подскажите, пожалуйста. Автор - ant6729 Дата добавления - 16.12.2018 в 20:09
Roman777
Дата: Воскресенье, 16.12.2018, 20:29 |
Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
ant6729 , а я смотрю на текст, но 220 нигде не вижу
ant6729 , а я смотрю на текст, но 220 нигде не вижу Roman777
Много чего не знаю!!!!
Ответить
Сообщение ant6729 , а я смотрю на текст, но 220 нигде не вижу Автор - Roman777 Дата добавления - 16.12.2018 в 20:29
ant6729
Дата: Воскресенье, 16.12.2018, 23:03 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Зрение... Исправил) 230 хотел написать
Зрение... Исправил) 230 хотел написать ant6729
Ответить
Сообщение Зрение... Исправил) 230 хотел написать Автор - ant6729 Дата добавления - 16.12.2018 в 23:03
Roman777
Дата: Понедельник, 17.12.2018, 09:39 |
Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
ant6729 , В вашем случае это первое сочетание из 3х цифр: [vba]Код
Function CatchNum(s As String) As Long Dim objRegExp, SubobjMatches Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Global = True objRegExp.Pattern = "\d{3}" Set SubobjMatches = objRegExp.Execute(s) CatchNum = SubobjMatches(0).Value End Function Sub tss() MsgBox (CatchNum(Cells(1, 1))) End Sub
[/vba]
ant6729 , В вашем случае это первое сочетание из 3х цифр: [vba]Код
Function CatchNum(s As String) As Long Dim objRegExp, SubobjMatches Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Global = True objRegExp.Pattern = "\d{3}" Set SubobjMatches = objRegExp.Execute(s) CatchNum = SubobjMatches(0).Value End Function Sub tss() MsgBox (CatchNum(Cells(1, 1))) End Sub
[/vba]Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Понедельник, 17.12.2018, 09:40
Ответить
Сообщение ant6729 , В вашем случае это первое сочетание из 3х цифр: [vba]Код
Function CatchNum(s As String) As Long Dim objRegExp, SubobjMatches Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Global = True objRegExp.Pattern = "\d{3}" Set SubobjMatches = objRegExp.Execute(s) CatchNum = SubobjMatches(0).Value End Function Sub tss() MsgBox (CatchNum(Cells(1, 1))) End Sub
[/vba]Автор - Roman777 Дата добавления - 17.12.2018 в 09:39
sboy
Дата: Понедельник, 17.12.2018, 09:45 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
Или искать по запятой [vba]Код
With CreateObject("VBScript.RegExp") .Pattern = "(?:,)(\d+)" 'For ''' MsgBox .Execute(text_)(0).Submatches(0) Next End With
[/vba]
Или искать по запятой [vba]Код
With CreateObject("VBScript.RegExp") .Pattern = "(?:,)(\d+)" 'For ''' MsgBox .Execute(text_)(0).Submatches(0) Next End With
[/vba] sboy
Яндекс: 410016850021169
Ответить
Сообщение Или искать по запятой [vba]Код
With CreateObject("VBScript.RegExp") .Pattern = "(?:,)(\d+)" 'For ''' MsgBox .Execute(text_)(0).Submatches(0) Next End With
[/vba] Автор - sboy Дата добавления - 17.12.2018 в 09:45