Вывести значения переменных в непосредственное окно

Я пытаюсь написать некоторые 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

Другие вопросы по тегам