Я пытаюсь получить столбец, который будет содержать порядковый номер первого слова из указанной ячейки столбца по ячейке.
Я могу получить длину слова в тексте для верхней ячейкизначение используется ActiveCell.Offset(-1, 0).Activate
, но оно не работает для меня.
Public Function StartIndex(ByVal strText As String) As Long
Application.Volatile
Length = UBound(Split(strText, " ")) + 1
StartIndex = ActiveCell.Offset(-1, 0).Activate + Length
End Function
посмотрите ниже, подумайте, у меня по умолчанию col1 и хотите startIndex через VBA;
Col1 | startIndex
VBA Index Printer Friendly version | 1
Adobe Acrobat version | 6
A UDF can remain in a code module | 9
, как показано выше, учитывая, что таблица имеет 3 строки и два столбца, порядковый номер слова "VBA" ** в столбце col1 строки1 равен 1, аналогично слову ** "является" рядом со словом "VBA" имеет индекс 2 и т. Д. Рассмотрим строки, представляющие собой комбинацию абзаца, и поэтому, когда мы достигаем Col1 row2 индекс слова "Adobe " должно быть 6, как показано в таблице
На самом деле столбец startIndex показывает порядковый номер первого слова из абзаца, который разделен на строки