Суммирование слов в текстовой строке и его сортировка - VBA

Узнай цену своей работы

Формулировка задачи:

Всем доброго утра. Появился такой вопрос - по суммированию похожих слов. То есть есть в строке ряд слов, идущих через значки "+". И надо как-то определить - каких слов больше, каких меньше. Подскажите - как макросом сложить количество похожих слов, приписав число сзади слова... и выстроить их в ячейке - по убыванию ? То есть изначальный текст такой: первое+пятое+третье+второе+четвертое+пятое+второе+второе+третье+второе А с подсчитанными словами и рассортированный - он будет вот такой: второе4+пятое2+третье2+первое1+четвертое1

Решение задачи: «Суммирование слов в текстовой строке и его сортировка»

textual
Листинг программы
Sub Pohoje()
Dim S As String, S1 As String, I As Integer, J As Integer, Mas(), Nm()
Dim L As Integer, K As Integer
S = "первое + пятое + третье + второе + четвертое + пятое + второе + второе + третье + второе"
S = S & "+"
S = Replace(S, " ", "")
K = 0
Do While S <> ""
  J = J + 1
  ReDim Preserve Mas(J): ReDim Preserve Nm(J)
  I = InStr(S, "+")
  Mas(J) = Left(S, I - 1): S = Mid(S, I + 1)
  Do While I > 0
    Nm(J) = Nm(J) + 1
    I = InStr(S, Mas(J))
    S = Replace(S, Mas(J) & "+", "", , 1)
  Loop
Loop
Do While J > 0
  K = 0
  For I = 1 To UBound(Nm)
    If K < Nm(I) Then K = Nm(I): L = I
  Next
  S = S & Mas(L) & K
  Nm(L) = 0
  J = J - 1
Loop
MsgBox S
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы