Катя писал(а):... и как сделать, чтобы в название процедуры не передавать параметры?
Катя писал(а):а как сделать чтобы процедура1 инициализировала набор переменных, при этом процедура2 вызывает процедуру1(как это сделать?) и инициализированный набор переменных далее используется в процедуре 2?
Dim a as Long, b as Long
Sub Proc1()
a = 1
b = 2
End Sub
Sub Proc2()
Proc1
MsgBox a + b
End Sub
Sub1 ()
Dim var1 as integer, var2 as string, var3 as long
var1=1
var2="Stroka"
var3=400000
...
call Sub2(var1, var3, var2)
...
end sub
Sub2(v1 as integer, v2 as long, v3 as string)
Dim a as single
a = v1+v2 + asc(v3)
end sub
Dim vnpp(1 To 8, 1 To 44, 1 To 5) As Double
Dim osk(1 To 8, 1 To 44, 1 To 5) As Double
Dim i As Integer
Dim j As Integer
Dim k As Integer
Private Sub CommandButton1_Click()
schet
vivod
End Sub
Private Sub schet()
With Application.Workbooks.Item("О11.xls")
Worksheets("Общая таблица").Activate
Cells(1, 1).Activate
Set r1 = Range(ActiveCell.Address)
r1.Select
For i = 1 To 8
For j = 1 To 44
For k = 1 To 5
vnpp(i, j, k) = 0
osk(i, j, k) = 0
Next k
Next j
Next i
...
End with
End sub
Private Sub vivod()
With Application.Workbooks.Item("О11.xls")
Worksheets(list).Activate
Cells(8, 6).Activate
Set r1 = Range(ActiveCell.Address)
r1.Select
g = 1
ActiveCell.Value = osk(g, kdv, 4) + osk(g + 1, kdv, 4)
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = vnpp(g, kdv, 5) + vnpp(g + 1, kdv, 5)
....
end with
end sub
Катя писал(а):
- Код: Выделить всё
g = 1
ActiveCell.Value = osk(g, kdv, 4) + osk(g + 1, kdv, 4)
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = vnpp(g, kdv, 5) + vnpp(g + 1, kdv, 5)
....
end with
end sub
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49