В моей рабочей таблице у меня есть два модуля, один из которых полон подпрограмм, а другой я хотел бы использовать для глобальных объявлений.
Например, в модуле 2 я хотел бы:
Sub Declarations()
Public Setup As Worksheet
Public Squad As Worksheet
Public Bio As Worksheet
Set Setup = Sheets("Setup")
Set Squad = Sheets("Squad")
Set Bio = Sheets("Bio")
End Sub
А потом в каждом сабе просто начните с:
call Declarations
Но это не работает. Я прочитал около 20 веток по этому вопросу и просто пытаюсь понять. Глядя на код других людей, он полностью отличается от того, чего я пытаюсь достичь, что я считаю довольно простым, и я не могу связать его с моей собственной работой.
Фразы типа «переход от подпрограмм или функций в качестве параметров» - что это значит в точности?
На мой взгляд, это так же просто, как
1. Перейти к декларациям
2. Прочтите это
3. Вернись к моей подводной лодке с этой информацией
Даже если у меня несколько подпрограмм в одном модуле, я не могу понять, как хранить целые числа в разных подпрограммах. У меня, например:
'2. Prepare Vectors
'--------------------------------------------------
Set Clubs = Sheets("Database").Range("DR:DR")
For Each C In Clubs
If IsEmpty(C) Then Exit For
If C = Squad.Range("A1") Then
Select Case C.Offset(0, -112).Value
Case Is = "G"
Gc = Gc + 1
ReDim Preserve Goalkeepers(Gc)
Goalkeepers(Gc) = C.Offset(0, -121)
Case Is = "D"
Dc = Dc + 1
ReDim Preserve Defenders(Dc)
Defenders(Dc) = C.Offset(0, -121)
Case Is = "M"
Mc = Mc + 1
ReDim Preserve Midfielders(Mc)
Midfielders(Mc) = C.Offset(0, -121)
Case Is = "A"
Ac = Ac + 1
ReDim Preserve Attackers(Ac)
Attackers(Ac) = C.Offset(0, -121)
End Select
End If
Next C
'--------------------------------------------------
, в котором я даю значения констант Gc, Dc, Mc, Ac. Я попытался использовать эти константы немного дальше в модуле в другом сабвуфере, и он просто видит их как «пустые». Я понимаю это, поскольку значения не сохраняются, но установка их на
Public Gc as Integer
тоже не работает.
Извините, что бродить. Буду очень признателен за любую помощь.