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