Доброго времени суток уважаемые специалисты и просто гуру excel , возникла трудность которую никак не удаётся победить Есть строка длинной в 32 тыс. знаков , выглядит это так (1111121321312вапвапвапвап654651318ываываываыва646516516541ываываываыва654651651651) Нужно сделать массив в котором первый столбец это 1111121321312,654651318,646516516541,654651651651 а второй это буквы начал делать но что то подсказывает мне что я не на том пути .... [vba]
Код
Sub perebor() Dim S As String Dim i, n, k As long
S = Range("B12").Value n = Len(S)
For i = 1 To n ch = Mid(S, i, 1)
'MsgBox Not IsNumeric(ch) If Not IsNumeric(ch) Then
End If Next i End Sub
[/vba]
Доброго времени суток уважаемые специалисты и просто гуру excel , возникла трудность которую никак не удаётся победить Есть строка длинной в 32 тыс. знаков , выглядит это так (1111121321312вапвапвапвап654651318ываываываыва646516516541ываываываыва654651651651) Нужно сделать массив в котором первый столбец это 1111121321312,654651318,646516516541,654651651651 а второй это буквы начал делать но что то подсказывает мне что я не на том пути .... [vba]
Код
Sub perebor() Dim S As String Dim i, n, k As long
S = Range("B12").Value n = Len(S)
For i = 1 To n ch = Mid(S, i, 1)
'MsgBox Not IsNumeric(ch) If Not IsNumeric(ch) Then
Sub mas_() Dim arr With CreateObject("VBScript.RegExp") .Pattern = "(\d+)(\D+)" .Global = True With .Execute([e9].Value) ReDim arr(0 To .Count - 1, 0 To 1) For i = 0 To .Count - 1 arr(i, 0) = .Item(i).submatches(0) arr(i, 1) = .Item(i).submatches(1) Next End With End With Range(Cells(1), Cells(UBound(arr), 2)).Value = arr End Sub
[/vba]
Добрый день. [vba]
Код
Sub mas_() Dim arr With CreateObject("VBScript.RegExp") .Pattern = "(\d+)(\D+)" .Global = True With .Execute([e9].Value) ReDim arr(0 To .Count - 1, 0 To 1) For i = 0 To .Count - 1 arr(i, 0) = .Item(i).submatches(0) arr(i, 1) = .Item(i).submatches(1) Next End With End With Range(Cells(1), Cells(UBound(arr), 2)).Value = arr End Sub
sboy, ещё не проверил и зачем то скидываю .. [vba]
Код
With CreateObject("VBScript.RegExp") .Pattern = "(\d+)(\D+)" .Global = True For a = 1 To UBound(la) MsgBox la(a) With .Execute(la(a).Value) If reg = 0 Then ReDim arr(0 To .Count - 1, 0 To 1) For i = 0 To .Count - 1 arr(i, 0) = .Item(i).submatches(0) arr(i, 1) = .Item(i).submatches(1) Next Else ReDim Preserve arr(UBound(Arring) + 1) For i = 0 To .Count - 1 arr(i, 0) = .Item(i).submatches(0) arr(i, 1) = .Item(i).submatches(1) Next End If reg = reg + 1 End With Next a End With
[/vba]
sboy, ещё не проверил и зачем то скидываю .. [vba]
Код
With CreateObject("VBScript.RegExp") .Pattern = "(\d+)(\D+)" .Global = True For a = 1 To UBound(la) MsgBox la(a) With .Execute(la(a).Value) If reg = 0 Then ReDim arr(0 To .Count - 1, 0 To 1) For i = 0 To .Count - 1 arr(i, 0) = .Item(i).submatches(0) arr(i, 1) = .Item(i).submatches(1) Next Else ReDim Preserve arr(UBound(Arring) + 1) For i = 0 To .Count - 1 arr(i, 0) = .Item(i).submatches(0) arr(i, 1) = .Item(i).submatches(1) Next End If reg = reg + 1 End With Next a End With