Как в VB передать данные с одной формы в другую
Формулировка задачи:
Итак необходима чтобы z из Private Sub UserForm_Activate() формы ALL_insident, перешла в Private Sub CommandButton2_Click() форма ALL_insident, при нажатии кнопки значение z перешла в форму Close_insident
Forma ALL_insident
Листинг программы
- Private Sub CommandButton2_Click()
- Unload Me
- End Sub
- ___________________________________ ____________
- Private Sub CommandButton3_Click()
- Dim z As integer
- [B]Close_insident Z[/B]
- End Sub
- ___________________________________ ________________
- Private Sub UserForm_Activate()
- Dim data(1 To 10) As Variant
- Dim vrema As Date
- Dim x As Integer
- Dim j As Integer
- Dim q As Integer
- Dim wb As Workbook
- Dim XL As Excel.Application
- Fail$ = "C:\Documents and Settings\Пользователь\Рабочий стол\new projekt\ewsd.xlsx"
- Set XL = CreateObject("Excel.Application")
- Set wb = XL.Workbooks.Open(Fail)
- r = 1
- Do While wb.Worksheets("Insident").Cells(1). Cells(r).Value <> ""
- r = r + 1
- Loop
- w = r + 1
- q = 1
- ' инцидент 1
- wb.Worksheets("Insident").Activate
- j = q
- Do While wb.Worksheets("Insident").Cells(11) .Cells(j).Value <> "Открыт"
- j = j + 1
- If j = w Then
- MsgBox "Необнаружено не одного открытого инцидента"
- Exit Sub
- End If
- Loop
- x = j
- [B]z=j ‘данные для Close_insident [/B]'записываем данные из таблицы в массив
- For i = 1 To 10
- With wb.Worksheets("Insident")
- data(i) = .Cells(x, i).Value
- End With
- Next
- vrema = data(2)
- With ALL_insident
- 'Номер инцидента
- .Label1.Caption = data(8)
- 'Напровление
- .Label2.Caption = data(3)
- 'TS
- .Label3.Caption = data(4)
- 'Потребитель
- .Label4.Caption = data(10)
- 'Дата инцидента
- .Label5.Caption = data(9)
- 'время инцидента
- .Label6.Caption = vrema
- 'пречина инцидента
- .Label7.Caption = data(5)
- 'ксто сдал инцидент
- .Label8.Caption = data(1)
- End With
- wb.Close False
- XL.Quit
- End Sub
Forma Close_insident
Листинг программы
- Private Sub Form_Activate(z)
- Dim data(1 To 10) As Variant
- Dim vrema As Date
- Dim x As Integer
- Dim j As Integer
- Dim q As Integer
- Dim wb As Workbook
- Dim XL As Excel.Application
- Fail$ = "C:\Documents and Settings\Пользователь\Рабочий стол\new projekt\ewsd.xlsx"
- Set XL = CreateObject("Excel.Application")
- Set wb = XL.Workbooks.Open(Fail)
- ‘ записываем данные из таблицы в массив
- For i=1 To 10
- With wb.Worksheets(“Insident”)
- Data(i)=.Cells(z, i).Value
- End With
- Next
- …
- End sub
Простите произошла опечатка CommandButton
2
_Click() , Итак необходима чтобы z из Private Sub UserForm_Activate() формы ALL_insident, перешла в Private Sub CommandButton3
_Click() форма ALL_insident, при нажатии кнопки значение z перешла в форму Close_insidentРешение задачи: «Как в VB передать данные с одной формы в другую»
textual
Листинг программы
- UserForm.Label1
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д