2015-05-22 2 views
1

У меня есть отправить код кнопки, как это:окно сообщения для подтверждения операции изменения данных

Private Sub CommandButton1_Click() 
Sheets("Overall").Activate 
With Me 
    If Len(.ComboBox1.Value) * Len(.TextBox1.Value) * Len(.ComboBox2.Value) * Len(.ComboBox3.Value) * Len(.TextBox2.Value) * Len(.TextBox3.Value) * Len(.ComboBox4.Value) * Len(.ComboBox5.Value) * Len(.TextBox4.Value) * Len(.TextBox5.Value) * Len(.TextBox6.Value) * Len(.ComboBox6.Value) * Len(.TextBox7.Value) * Len(.TextBox8.Value) = 0 Then 
      MsgBox "Please Complete All Fields Before Submit" 

     Else 

      eRow = Sheet9.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row 
      Cells(eRow, 1).Value = ComboBox1.Text 
      Cells(eRow, 2).Value = TextBox2.Text 
      Cells(eRow, 3).Value = TextBox3.Text 
      Cells(eRow, 4).Value = TextBox1.Text 
      Cells(eRow, 5).Value = ComboBox3.Text 
      Cells(eRow, 6).Value = TextBox4.Text 
      Cells(eRow, 7).Value = TextBox5.Text 
      Cells(eRow, 8).Value = ComboBox4.Text 
      Cells(eRow, 15).Value = ComboBox6.Text 
      Cells(eRow, 10).Value = ComboBox5.Text 
      Cells(eRow, 11).Value = TextBox7.Text 
      Cells(eRow, 12).Value = TextBox8.Text 
      Cells(eRow, 13).Value = TextBox6.Text 
      Cells(eRow, 14).Value = ComboBox2.Text 

      End If 
    End With 
    End Sub 

Я хотел бы добавить на подтверждение выскочить окно сообщения, чтобы предупредить пользователя, что если значение, которое является ключевым в в TextBox8 превышает 3.0

Если пользователь выбирает Да, то он будет хранить данные только в листе excel, но если пользователь не будет выбирать, будет отображаться другое окно сообщения для всплывающих сообщений, чтобы информировать пользователя о повторном вводе значения в TextBox8.

Где я должен добавить в поле сообщения vbYesNo?

+1

Добавьте еще один блок 'If' сразу после первого' Else'. Также вы должны что-то сделать с помощью 'Cells (eRow, #). Значение' как Sheet9 может быть не всегда активным. – PatricK

+1

Взгляните сюда [Ссылка] (https://msdn.microsoft.com/en-us/library/139z2azd (v = vs.90) .aspx) – 0m3r

+0

У этой почты есть другой подход и, возможно, наименее теоретический, интерес: http://yoursumbuddy.com/userform-event-class-validating-controls/ –

ответ

1

Добавить что-то подобное до Cells изменения:

If TextBox8.Value > 3 Then 
    If MsgBox("TextBox8 > 3" & vbCrLf & "Continue?", vbYesNo) = vbNo Then 
     MsgBox "Please change the value of TextBox8" 
     TextBox8.SetFocus 
    Else 
     '//eRow = ... 
    End If 
End If 

Он будет отображать YesNo MsgBox, чтобы попросить пользователя, чтобы продолжить. Если пользователь выберет No, появится второй MsgBox с уведомлением, а затем будет активирован TextBox.

Смежные вопросы