В моей рабочей тетради есть массив, в котором хранятся машины. С помощью кнопки я могу добавить несколько машин в массив.
Окончательный массив используется в трех других кнопках, каждая кнопка находится на отдельном рабочем листе. Теперь у меня вопрос: как сохранить глобальный массив с его изменяющимся значением?
это мой код для добавления некоторого значения в массив:
Private Sub Add_Machine_Click()
Dim ws As Worksheet
Dim lastrow As Long
Dim Machine() As Variant
Dim DataRange As Range
Set ws = Worksheets("MachineTemplate")
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
Set DataRange = ws.Range("A1:A" & lastrow)
Set Cell = DataRange.Find(What:=ComboBox1.Value, LookIn:=xlFormulas, lookat:=xlWhole)
If Cell Is Nothing Then
ws.Range("A" & lastrow + 1) = ComboBox1.Value
End If
ReDim Machine(DataRange.Cells.Count)
For Each Cell In DataRange.Cells
Machine(x) = Cell.Value
x = x + 1
Next Cell
End Sub
Сейчас я использую тот же код для других трех кнопок. Есть ли способ сохранить этот код как глобальный?
Я уже попробовал это в WorkbookSheet так:
Option Explicit
Public Machine() As Variant
Public ws As Worksheet
Public lastrow As Long
Public DataRange As Range
ws = Worksheets("MachineTemplate")
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
Set DataRange = ws.Range("A1:A" & lastrow)
ReDim Machine(DataRange.Cells.Count)
x = 0
For Each Cell In DataRange.Cells
Machine(x) = Cell.Value
x = x + 1
Next Cell
Но я знаю, что это совершенно неправильно.