после заполнения формы в VB для Excel мои данные не попадают в Excel - PullRequest
0 голосов
/ 08 июня 2018

У меня есть три формы.

  • Форма 1 (логин)
  • Форма 2 (информация добавлена)
  • Форма 3 (информация добавлена ​​на другой лист)

Для некоторыхпричина, по которой мой макрос не вводит мои данные в Excel, когда я нажимаю "Отправить" для третьей формы.Моя вторая форма вводит информацию, но при входе в третью форму информации нет, где ее можно найти.

Private Sub cmdSubmit_Click()

'Dim iRow As Long
'Dim ws As Worksheet
Set ws = Worksheets("Scrap")

'find first empty row in database
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
    SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

'check for a part number
If Trim(Me.txtPress.Value) = "" Then
  Me.txtPress.SetFocus
  MsgBox "Please enter press scrap"
  Exit Sub
End If

'copy the data to the database
'use protect and unprotect lines,
'     with your password
'     if worksheet is protected
With ws
'  .Unprotect Password:="Password"

  .Cells(iRow, 1).Value = Me.txtDelam.Value
  .Cells(iRow, 2).Value = Me.txtCuts.Value
  .Cells(iRow, 3).Value = Me.txtBurns.Value
  .Cells(iRow, 4).Value = Me.txtDents.Value
  .Cells(iRow, 5).Value = Me.txtStaple.Value
  .Cells(iRow, 6).Value = Me.txtGlue.Value
  .Cells(iRow, 7).Value = Me.txtPress.Value

'  .Protect Password:="Password"
End With

'clear the data
Me.txtDelam.Value = ""
Me.txtCuts.Value = ""
Me.txtBurns.Value = ""
Me.txtDents.Value = ""
Me.txtStaple.Value = ""
Me.txtGlue.Value = ""
Me.txtPress.Value = ""
Me.txtPress.SetFocus

Unload Me



End Sub

1 Ответ

0 голосов
/ 09 июня 2018

Вы отправили все значения текстового поля формы 2 в форму 3?

Я пробовал таким образом.У вас может быть такой код в вашей Форме 2:

Private Sub CommandButton1_Click()

    ' I send the value from Form2 to Form3
    YourForm3.txtPress.Value = YourForm2.TextBox1.Value
    YourForm3.Show
    Unload Me

End Sub

На следующем шаге форма Form3 открывается с информацией Form2, я запускаю ваш код, и он работает.Для моего теста я просто изменил ваши переменные iRow на iRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...