пропустить подсчет слов в скобках при разбиении строки на строки, чтобы в строках было одинаковое количество слов, которые не находятся внутри скобок, но все же включают скобки в разделении.
Для настройки моих ячеек см. Прикрепленное изображение:
![skip counting words in parentheses](https://i.stack.imgur.com/37CAe.jpg)
следующая функция UDF разбивает длинную строку на строки с предопределенным количеством слов в ячейке "D3".
Public Function SplitOnNth(ByVal inputStr$, ByVal StartPos&, ByVal NumWords&) As String
Dim arr() As String, i As Long, newArr() As String
arr = Split(inputStr)
ReDim newArr(NumWords - 1)
'Arrays are zero-based, but your string isn't. Subtract 1
For i = StartPos - 1 To StartPos + NumWords - 2
If i > UBound(arr) Then Exit For 'Exit if you loop past the last word in string
'ANYTHING IN PARENTHESES SHOULD BE SKIPPED IN WORDS COUNT BUT INCLUDED IN THE WORDS SPLIT
newArr(i - StartPos + 1) = arr(i)
Next
SplitOnNth = Join(newArr, " ")
End Function
Это то, что я пытался решить проблему. Он ужасно жестко запрограммирован и работает только для одного ряда. ВАША ПОМОЩЬ ОЧЕНЬ ЦЕНА И СПАСИБО В ПРЕДЕЛАХ.
'ANYTHING IN PARENTHESES SHOULD BE SKIPPED IN WORDS COUNT BUT INCLUDED IN THE WORDS SPLIT
If arr(i) Like "*(*" & "*)*" Then
newArr(i - StartPos + 1) = arr(i) + " " + _
arr(i + 1) + " " + _
arr(i + 2) + " " + _
arr(i + 3) + " " + _
arr(i + 4) + " "
Exit For
Else
newArr(i - StartPos + 1) = arr(i)
End If
'result in the first two rows is ok but not for the rest of the rows
'One two three four
'(1) five six seven eight