Тема: Какой оператор более предпочтителен в сборе данных

Есть некоторые данные которые нужно подсчитать в определенную переменную. Использовал оператор IF с определенными условиями но не совсем то что надо получилось. Есть ли у вас примеры каких нибудь операторов?

Re: Какой оператор более предпочтителен в сборе данных

MSDN

Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
        ' The following is the only Case clause that evaluates to True.
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10
        Debug.WriteLine("Equal to 9 or 10")
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select

Оно?

Re: Какой оператор более предпочтителен в сборе данных

Уточню что мне хотелось
Есть A-B-С. Где все переменные. С - переменная с числами
Дальнейший сбор чтобы проходил так
A1-B1-(C1+C2+C3+...+C4) суммировались в одну переменную С
A1-B2-(C1+C2+C3+...+C4)
чтобы не возникало такого
A1-B1-C1
A1-B1-C2
A1-B1-C3
A1-B2-C1
A1-B2-C2
Вот на счет Dim не знаю как его применить к этому((

Re: Какой оператор более предпочтителен в сборе данных

Ничего не понял, что вы хотите, какие данные, какой Dim...
Вы свой код покажите, Вам помогут.

Re: Какой оператор более предпочтителен в сборе данных

Какой оператор более предпочтителен в сборе данных
Код для каждого типа кабеля такой
A="[Стиль]"
B=[Длина]
If A="ВВГнгLS-2" Then
    RESULT=B*1.5/1000
ElseIf A="ВВГнгLS-5" Then
    RESULT=B*1*1.5/1000
Else
     RESULT=""
End If
[Стиль]- это ВВГнгLS
[Длина] - это длина этого кабеля

Re: Какой оператор более предпочтителен в сборе данных

Ну тебе ведь точно показали в посте№2 как делать
Пробуй разжеванное

Option Explicit
Sub dummy_test()
Dim itypes As Variant
itypes = Array("1x1.5", "2x1.5", "3x1.5", "4x1.5", "5x1.5", "6x1.5") '<-list of types
Dim styles As Variant
styles = Array("ВВГнгLS-1", "ВВГнгLS-2", "ВВГнгLS-3", "ВВГнгLS-4", "ВВГнгLS-5") ' e.t.c....
Dim style As String
style = styles(4) '<---"ВВГнгLS-5"
Debug.Print style
Dim itype As String
itype = itypes(1) '<---"2x1.5"
Debug.Print itype
Dim leng As Double
leng = 10.5
Debug.Print leng
Dim result As Double
result = GetResult(style, leng) * GetCoefficent(itype)
MsgBox Round(result, 2)
End Sub

Function GetCoefficent(ByVal style As String) As Double
Dim formula As String
Select Case style
    Case "1x1.5"
        GetCoefficent = 0.5 '<--change value
    Case "2x1.5"
        GetCoefficent = 1#  '<--change value
    Case "3x1.5"
        GetCoefficent = 1.2 '<--change value
    Case "4x1.5"
        GetCoefficent = 1.4 '<--change value
    Case "5x1.5"
        GetCoefficent = 1.5 '<--change value
        Case "6x1.5"
        GetCoefficent = 2#  '<--change value
End Select
End Function


Function GetResult(ByVal style As String, ByVal B As Double) As Double

Select Case style
    Case "ВВГнгLS-1"
        GetResult = B * 1 * 1.5 / 1000 '<--change expression
    Case "ВВГнгLS-2"
GetResult = B * 2 * 1 / 1000 '<--change expression
    Case "ВВГнгLS-3"
        GetResult = B * 1 * 1.5 / 1000 '<--change expression
    Case "ВВГнгLS-4"
        GetResult = B * 1 * 1.5 / 1000 '<--change expression
    Case "ВВГнгLS-5"
        GetResult = B * 4 * 1.5 / 1000 '<--change expression
End Select
End Function