-1

Я хотел знать, как преобразовать разделенные значения в столбце в определенный формат. Например, если бы у меня были следующие значения в одной ячейке / столбце «Черный; Темно-синий; Светло-синий» и я хотел бы преобразовать их в «Черный:0:0:0:1 | Темно-синий:0:0:0:2 | Light Blue:0:0:0:3 "как лучше всего достичь этого результата?

1 ответ1

0

Мое время ничего не стоит.

Sub delimitAddNum()
    'e.g. input: Black;Dark Blue;Light Blue
    'e.g. output: Black:0:0:0:1|Dark Blue:0:0:0:2|Light Blue:0:0:0:3
    theStr = ActiveCell.Value

    If InStr(theStr, ";") = False Then Exit Sub

    theSplit = Split(theStr, ";")

    theResult = ""

    For i = 0 To UBound(theSplit)
        If i < UBound(theSplit) Then
            theResult = theResult & theSplit(i) & ":0:0:0:" & (i + 1) & "|"
        Else
            theResult = theResult & theSplit(i) & ":0:0:0:" & i + 1
        End If
    Next i

    theChk = MsgBox("Do you want to overwrite cell " & Replace(ActiveCell.Address, "$", "") & _
    " with the following result?" & vbNewLine & vbNewLine & _
    theResult, vbYesNo, "Delimiter, Number Thingy")

    If theChk = vbYes Then ActiveCell.Value = theResult
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .