Как сделать переменную общедоступной в VBA? - PullRequest
0 голосов
/ 05 марта 2019

Мне нужно было найти значение vendornumber, чтобы построить матрицу из заданных данных. Я написал код (в VBA) ниже

(в нем больше строк для построения матрицы, но я их здесь вырезал)

Public Sub tryout()
 Dim vendornumber As Integer
 Dim rownumber As Integer
 rownumber = Worksheets("DISTANCE").Range("A2", 
 Worksheets("DISTANCE").Range("A2").End(xlDown)).Rows.Count
    Dim y As Integer
    Do Until (y = rownumber)
       y = vendornumber * (vendornumber + 1)
       vendornumber = vendornumber + 1
    Loop
End Sub

Код работает отлично, но я хочу использовать это значение и в других модулях. Я пытался сделать переменную общедоступной как:

Public vendornumber As Integer

выдано сообщение об ошибке: Неверный атрибут в подпрограмме или функции.

Затем я вывел эту строку из сабвуфера, и она выдала ошибку: Переполнение и указала на часть кода ниже как на причину:

y = vendornumber * (vendornumber + 1)

1 Ответ

2 голосов
/ 05 марта 2019

Вам нужно объявить переменные снаружи.

Public vendornumber As Integer

Public Sub tryout()
   vendornumber = 1
...