Я пытаюсь создать рабочий лист, полный корреляций, которые работают только для определенных диапазонов данных. Я работаю над тем, чтобы выяснить, как я могу кодировать все эти корреляции в VBA, чтобы они производили только числовой вывод, если входные данные соответствуют требуемому диапазону данных. Я пытаюсь использовать циклы, чтобы проверить, соответствует ли каждая ячейка данных этим «элементам управления» данных, перемещаясь вниз по каждому столбцу.
Например, вот одно из соотношений:
AlMarhoun = (5.38088 * 10 ^ (-3) * Rs ^ (0.715082) * yo ^ (3.1437) * (T + 459.67) ^ (1.32657)) / (yg ^ (1.87784))
с каждым параметром, действительным для следующих значений:
Rs: от 26 до 1602
yo: от 0,8035 до 0,9377
Т: от 74 до 240
yg: от 0,75 до 1,3
У меня есть столбцы, полные данных для каждого из параметров, и я хочу отсеять те, которые не будут работать в этой корреляции. Хотя примитивный, следующий код - это все, что я смог придумать до сих пор. Я не очень хорошо понимаю функцию цикла, но, возможно, ее можно использовать для перемещения вниз по каждому столбцу и сравнения их с диапазонами данных выше. Столбец C содержит данные для параметра T, столбец B содержит данные для параметра Rs и т. Д.
Public Function AlMarhoun2(Rs As Double, yo As Double, T As Double,
'Al-Marhoun correlation from 1988 for bubble point pressure
If Range(C3).Value < 74 Then
Range(J3).Value = "Correlation not valid"
If Range(C3).Value > 240 Then
Range(J3).Value = "Correlation not valid"
If Range(B3).Value < 26 Then
Range(J3).Value = "Correlation not valid"
If Range(B3).Value > 1602 Then
Range(J3).Value = "Correlation not valid"
If Range(D3).Value < 0.75 Then
Range(J3).Value = "Correlation not valid"
If Range(D3).Value > 1.3 Then
Range(J3).Value = "Correlation not valid"
If Range(F3).Value < 0.8035 Then
Range(J3).Value = "Correlation not valid"
If Range(F3).Value > 0.9377 Then
Range(J3).Value = "Correlation not valid"
AlMarhoun2 = (5.38088 * 10 ^ (-3) * Rs ^ (0.715082) * yo ^ (3.1437)
End Function
Я хотел бы включить сообщение, такое как «Корреляция недопустима для этих входных данных» или что-то подобное, если данные не вписываются в диапазон корреляции.