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