Funt123
Цитата:
Никак!
изначально неверная постановка задачи...
нужно заводить массив Dim StepPrice_n ( ) - массивы как раз для этого и придумали.
можно, если очень хочется, извернуться через пользовательскую функцию и глобальные переменные [more=вот так]
Код:
Dim StepPrice_n1 As Double
Dim StepPrice_n2 As Double
Dim StepPrice_n3 As Double
Public Function GetVarByName(ByVal VarName As String) As Double
If VarName = "StepPrice_n1" Then
GetVarByName = StepPrice_n1
Exit Function
End If
If VarName = "StepPrice_n2" Then
GetVarByName = StepPrice_n2
Exit Function
End If
If VarName = "StepPrice_n3" Then
GetVarByName = StepPrice_n3
Exit Function
End If
End Function
Public Sub Test1()
StepPrice_n1 = 100
StepPrice_n2 = 200
StepPrice_n3 = 300
n = 3
For i = 1 To n
curStepPrice_i = GetVarByName("StepPrice_n" & i)
Cells(i, 1).Value = curStepPrice_i
Next i
End Sub
Цитата:
Есть ряд переменных: StepPrice_n1, StepPrice_n2, ... StepPrice_nn со своими числовыми значениями.
Никак!
изначально неверная постановка задачи...
нужно заводить массив Dim StepPrice_n ( ) - массивы как раз для этого и придумали.
можно, если очень хочется, извернуться через пользовательскую функцию и глобальные переменные [more=вот так]
Код:
Dim StepPrice_n1 As Double
Dim StepPrice_n2 As Double
Dim StepPrice_n3 As Double
Public Function GetVarByName(ByVal VarName As String) As Double
If VarName = "StepPrice_n1" Then
GetVarByName = StepPrice_n1
Exit Function
End If
If VarName = "StepPrice_n2" Then
GetVarByName = StepPrice_n2
Exit Function
End If
If VarName = "StepPrice_n3" Then
GetVarByName = StepPrice_n3
Exit Function
End If
End Function
Public Sub Test1()
StepPrice_n1 = 100
StepPrice_n2 = 200
StepPrice_n3 = 300
n = 3
For i = 1 To n
curStepPrice_i = GetVarByName("StepPrice_n" & i)
Cells(i, 1).Value = curStepPrice_i
Next i
End Sub