Я пытаюсь добавить список проверки данных в целевой ячейке на основе целевого значения.Но я думаю, что есть проблема с языком.
Идея состоит в том, чтобы написать желаемое значение в качестве среднего значения, затем [Пробел] и затем количество шагов в каждом направлении.(например, «1,3 2»)
С помощью следующего кода я получаю список, но отформатированный как текст (со знаком периода).Если я удаляю бит «Replace (»), я получаю только целые числа, и если я заменяю запятую с разделителями точкой с запятой, это анархия.
Private str$, i As Integer, qty As Integer, avrg As Double, s As Double
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Value Like "* *" Then
qty = Mid(.Value, InStr(1, .Value, " ") + 1, 10)
avrg = Mid(.Value, 1, InStr(1, .Value, " ") - 1)
s = avrg - (0.1 * (qty + 1))
For i = 1 To qty * 2 + 1
str = str & ", " & Replace(s + (i * 0.1), ",", ".")
Next
.Validation.Delete
.Validation.Add Type:=xlValidateList, Formula1:=str
.Validation.ShowError = False
.NumberFormat = _
"[Blue][<" & avrg & "] ""Easy- ""0.0;[Red][>" & avrg & "]""Hard - ""0.0;""Average - ""0.0"
.Value = avrg
str = ""
End If
End With
End Sub
Возможно ли временно повернуть какой-нибудь перевод-последовательность или что-то
Запятая вручную - это разделитель десятичных точек и точка с запятой для элементов. Я бы написал 1,1; 1,2; 1,3; 1,4; 1,5 в источнике-Box и получить следующий правильный результат в списке:
pos1 1,1
pos2 1,2
pos3 1,3
pos4 1,4
pos5 1,5