Fck_This пишет:Товарищи, я ломаю себе голову (Если с вордом уже многое понятно, то с экселем выходит туго), как переместить текст из конца строки одной ячейки в начало строки этой же ячейки так, чтобы в конце этого текста уже не было? Какую функцию использовать? Help plz
Было:
Купил мороженое Вася
Стало:
Вася Купил мороженое
Короч, вопрос снимается - уже сам намутил. Пользуйтесь кому надо, а можете предложить свой вариант. Все МсгБоксы закоменчены - если надо посмотреть сколько считает и что выдаёт - раскоментируйте.
Sub Perenos()
Dim i As Long
Dim rCell As Range
'Dim oObjectFind As Range - необходим при задании текста в ячейку
Dim oFromEndToFind As Long
Dim oStringLength As Long
Dim x As Long
Dim y As Long
Dim z As Long
Dim wFirstPart As String
Dim wSecondPart As String
Const oObjectFind As String = " к "
'Set oObjectFind = Cells(10, 10) 'Это ячейка с искомым текстом (задаёт oObjectFind) - можно задать текст в ячейку
For i = 2 To 7 'Тут указываем необходимый диапазон количества строк
Set rCell = Range("H" & i) 'Тут указываем диапазон ячеек (по сути - столбец)
oFromEndToFind = InStrRev(rCell.Text, oObjectFind)
''MsgBox "Значение:" & oFromEndToFind
If oFromEndToFind = 0 Then GoTo Line1
oStringLength = Len(rCell.Text)
''MsgBox "Длина строки =" & oStringLength
x = oFromEndToFind - 1
''MsgBox "Слева от искомого " & x & " символов"
y = oStringLength - x
''MsgBox "Промежуток равен " & y & " символов"
z = y - 3
''MsgBox "Справа от искомого " & z & " символов"
wFirstPart = Left(rCell.Text, x)
''MsgBox "в конце будет:" & wFirstPart
wSecondPart = Right(rCell.Text, z)
''MsgBox "в начале будет:" & wSecondPart
If Not IsEmpty(Cells(i, 8)) Then Cells(i, 8) = wSecondPart & " [" & wFirstPart & "]"
Line1:
Next
End Sub
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871