как получить слово после последней косой черты в многолинейной ячейке с помощью Excel VBA - PullRequest
0 голосов
/ 16 мая 2018

У меня много данных в многоточечной ячейке. Я хочу слово после последней косой черты в каждой строке в ячейке с ячейками. Я использовал этот код Worksheets ("Sheet1"). Columns ("A"). Replace What: = "* /", Замена: = "", SearchOrder: = xlByColumns, MatchCase: = True Но это не сработало. Я хочу формат на изображении ниже. Пожалуйста, помогите мне. word after last slash in a multilined cell

P.S. Я новичок в Excel VBA

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Я полагаю, что следующий код сделает то, что вы ожидаете:

Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
'declare and set you worksheet
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'get the last row with data on column A

For i = 1 To LastRow 'loop from row 1 to last
    ValueList = Split(ws.Cells(i, 1).Value, vbLf) 'split next line values into array
    For x = LBound(ValueList) To UBound(ValueList) 'loop through array
        pos = InStrRev(ValueList(x), "/") 'get the position of the last /
        ValueList(x) = Right(ValueList(x), Len(ValueList(x)) - pos) 'remove everything before the last /
        ws.Cells(i, 2).Value = ws.Cells(i, 2).Value & vbLf & ValueList(x) 'pass the newly created values into Column B
    Next x
Next i
End Sub
0 голосов
/ 16 мая 2018

Строки внутри многострочной ячейки разделены символом CHAR (10). Вы, вероятно, хотите разделить на основе этого, тогда для каждой строки вам нужна функция INSTRREV - см. Примеры здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...