Как найти самое высокое значение в столбце при открытии формы и смещение +1 в заблокированном поле в форме - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь найти наибольшее число в столбце и выбрать следующее число при нажатии на кнопку, чтобы инициализировать форму.Затем я хочу, чтобы он был помещен в соответствующее поле в пользовательской форме, которая заблокирована, а затем перенесена при сохранении.У меня все получилось, чтобы сохранить информацию, но мне было трудно выполнить поиск.(Должен ли код быть с реальной формой? Или с командой, чтобы показать форму?) Любые предложения будут с благодарностью!

Код для отображения формы.

Private Sub cmd_CreateNewItem_Click()
frmCreateNewItem.Show
Application.WorksheetFunction.Max (Range("H:H"))
End Sub

Iпопытался выполнить поиск при сохранении формы, но не смог заставить его работать.Я думаю, что код был плохим.

Код формы.

Private Sub cmdSaveItem_Click()
  Sheets("Item").Unprotect Password:="123456"
    Dim ctrl As Control, LastRow As Long
     LastRow = Sheets("Item").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For Each ctrl In Me.Controls
    If TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox" Then
        If ctrl.Value = "" Then
            MsgBox ("Please enter a value for " & ctrl.Name)
            ctrl.SetFocus
            Exit Sub
        End If
    End If
Next ctrl
Sheets("Item").Cells(LastRow + 1, 1).Resize(1, 8) = Array(txt_ItemName.Value, _
    txt_ProdCodeSKU.Value, txt_VendorSelection.Value, txt_Location, txt_MaxStock.Value, txt_ReorderLevel.Value, txt_ItemStocked.Value, txt_ExcelItemCode)
For Each ctrl In Me.Controls
    If TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox" Then
        ctrl.Value = ""
    End If
Next ctrl
txt_ItemStocked = False
Sheets("Item").Protect Password:="123456"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...