Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Ввод данных их формы по нескольким условиям


Автор: rinas 12.1.2018, 10:34
Здравствуйте!
Есть таблица, в которую вносятся данные из формы. Условия - три комбобокса. По двум комбобоксам данные вносятся, а вот по третьему никак не могу сделать. Данные должны вноситься в соответствии со значением в строке (Nm) и столбцом (Pr). По строке вносятся, а вот по столбцу нет. Помогите, пожалуйста, дополнить код.
Код

Private Sub cmdAdd_Click()
Dim Pr, Nm As Range, R&, J&, c, k, s$, d$
Dim i As Integer
     
Application.ScreenUpdating = False
If Me.CmbBx1 = "" And Me.CmbBx2 = "" Then
MsgBox "Недостаточно данных. Пожалуйста, заполните все поля"
Exit Sub
End If

Set Pr = Columns(2).Find(CmbBx3, , xlValues, xlPart): J = 2
Set Nm = Rows(5).Find(CmbBx2, , xlValues, xlWhole): R = 9

If Nm Is Nothing Then
    Set Nm = Cells(7, Columns.Count).End(xlToLeft).Offset(-2, 1)
    Cells(5, 3).Resize(3, 17).Copy Nm: Nm = CmbBx2
  End If

  Do While WorksheetFunction.Sum(Cells(R, Nm.Column).Resize(1, 17)) > 0
    R = R + 1
  Loop

     For Each c In Me.Controls
    If InStr(c.Name, "ch") = 1 Then
      s = c.Name
      If c.Value Then Cells(R, Nm.Column + (Val(Right(s, 1)) - 1) * 3 + _
      IIf(Left(s, 3) = "chN", 1, IIf(Left(s, 3) = "chV", 2, 0))) = 1
    End If
  Next
 
MsgBox "Данные успешно добавлены"

End Sub

Автор: rinas 12.1.2018, 10:43
Первый файл со сбоем, вот другой

Автор: Akina 12.1.2018, 15:08
В этом некомментированном и плохо понятном хламе - разбираться? вот уж вряд ли...

PS. Добавь в начало каждого модуля Option Explicit и удивись...
PPS. Открой для себя OptionButton + Frame и забудь про CheckBox.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)