создание значения на основе ячейки Excel и вставка его в текстовое поле или метку в пользовательской форме - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь создать финансовый процесс и систему в отношении заказа на поставку в одном из предприятий моей компании.У меня есть созданная пользовательская форма, НО я пытаюсь получить значение ячейки на листе, представляющем эту пользовательскую форму.

Я хочу, чтобы номер заказа был представлен в пользовательской форме.этот номер заказа будет получен из листа со всеми номерами заказа и просто возьмите последний номер и +1 к нему.затем он будет отправлен со всей остальной информацией на утверждение.У меня проблема с кодом ниже.кто-нибудь может помочь?с идеями, а также объяснение вашего мышления на тренировку, где я иду не так.

все советы приветствуются.Я очень новичок в VBA.

' POnumber variable
Dim PONumber As Long  

' variable for worksheet
Dim PONumberData As Worksheet  

' variable for last POnumber
Dim lastPONumber As Integer    

' variable for last POnumber
Dim PONumtxtBox As TextBox      

' variable for textbox on userform
Dim PONumtxtBox As TextBox  

' variable for PO integer converted to string
Dim PONumberstring As String    


' set textbox variable to userform Textbox

Set PONumtxtBox = Me.PONumberTxtBox

' work outs the last PO number on the PONumberData worksheet

lastPONumber = PONumberData.Range("A2").End(xlDown).Value

' Take's last PO Number and add 1 to it to create next PO number

PONumber = lastPONumber + 1

' converts integer PO number in cell on PONumberData worksheet to string

PONumberstring = CStr(PONumber)

' should add that number to userform * but isn't *

PONumtxtBox.Text = PONumberstring

Я надеюсь иметь номер заказа в пользовательской форме

1 Ответ

0 голосов
/ 28 мая 2019

Вы можете создать поле метки внутри своей пользовательской формы для хранения "PO-номера".В приведенном ниже примере код добавляется в пользовательскую форму напрямую и запускается при инициализации.Он находит последний номер в столбце и добавляет один.Это предполагает, что у вас есть ваши номера заказа в порядке на вашем листе, в противном случае это было бы не очень полезно.

"PONumb" ссылается на именованную метку в пользовательской форме.

Private Sub UserForm_Initialize()

    With ThisWorkbook.Worksheets("Sheet1")

        Dim R As Integer

        R = .Cells(.Rows.Count, 1).End(xlUp).Row

        Me.PONumb = .Range("A" & R).Value + 1

    End With

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