Sub Макрос1()
rws = Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To rws
stroka = Cells(k, 1).Value
Dim arr As Variant
j = 1
ReDim arr(1 To Len(stroka))
For i = 1 To Len(stroka)
If Mid(stroka, i, 1) = UCase(Mid(stroka, i, 1)) Then
arr(j) = i
j = j + 1
End If
Next
ReDim Preserve arr(1 To j - 1)
For i = 1 To j - 1
On Error Resume Next
If i < UBound(arr) Then
Cells(k, i + 1).Value = Mid(stroka, arr(i), arr(i + 1) - arr(i))
Else
Cells(k, i + 1).Value = Right(stroka, Len(stroka) - arr(i) + 1)
End If
Next
Next
End Sub
v = 1 'номер столбца с гиперссылками
rws = cells(rows.count, v).end(xlup).row
for i = 1 to rws
If Cells(i, v).Value <> "" Then
cells (i, v).value = cells(i,v).value & ".htm"
End If
next
Dim cl As Range
On Error Resume Next
For Each cl In Selection.Cells
If cl.Errors.Item(xlEvaluateToError).Value = True Then
cl.ClearContents
End If
Next
For Each cell In rng2
c = cell.Row
Range(Cells(x, 22), Cells(x, 24)).Merge
Range(Cells(x, 22), Cells(x, 24)).formulalocal= "=суммесли($a$1:a19;$v$" & c & ";$b$1:b19)"
x=x+1
Next cell