Код | Private Sub CommandButton1_Click() Dim str As String, str1 As String, i As Integer, k As Integer, c As Integer Dim e As String d = Лист1.UsedRange.Rows.Count For rwIndex = 1 To d str = Range("A" & rwIndex) strLen = Len(str) For i = 1 To strLen str1 = Mid(str, i, 1) 'считываем по буквам If Asc(str1) <> 32 Then с = 0 'кол пробелов k = k + 1 'кол букв Else k = k c = c + 1 End If Select Case c Case 0 Лист2.Range("A" & rwIndex).Value = Left(str, k) 'пробелов нет -первое слово Case 1 e = Len(Лист2.Range("A" & rwIndex).Value) + c + 1 'позиция первой буквы после пробела Лист2.Range("B" & rwIndex).Value = Mid(str, e, k - Len(Лист2.Range("A" & rwIndex).Value)) 'один пробел -второе слово Case Else e = Len(Лист2.Range("A" & rwIndex).Value) + Len(Лист2.Range("B" & rwIndex).Value) + 1 + c '2пробела -третье слово Лист2.Range("C" & rwIndex).Value = Mid(str, e, k) End Select
Next i k = 0 e = 0 c = 0 Next rwIndex End Sub
| |