Вывести значения переменных в непосредственное окно
Я пытаюсь написать некоторые VBA, которые будут печатать значения, которые удовлетворяют следующим ограничениям:
b * k = t * k
lambda = r * (k - 1) / (t - 1)
, где (t - 1) >= (k - 1)
& lambda
должно быть целым числом
Вот алгоритм:
Sub BIBDs()
Dim t, b, k, r As Integer
Dim lambda As String
For t = 2 To 50
For b = 2 To 20
For r = 1 To 20
For k = 3 To 5
If b * k = t * k & (t - 1) >= (k - 1) Then
lambda = r * (k - 1) / (t - 1)
If lambda = Int(lambda) Then
Debug.Print t, b, r, k, lambda
End If
End If
Next k
Next r
Next b
Next t
End Sub
В окне "Немедленно" ничего не печатается. Я не уверен, что с алгоритмом или методом печати что-то не так. В частности, я не уверен, правильно ли я проверяю, что лямбда является целым числом.
1 ответ
Решение
Пытаться
If b * k = t * k And (t - 1) >= (k - 1) Then
вместо
If b * k = t * k & (t - 1) >= (k - 1) Then
Оператор & в VBA отличается от логического оператора А: https://msdn.microsoft.com/en-us/library/wfx50zyk.aspx