Присвоение значения переменной текстовому полю следующей пользовательской формы - PullRequest
0 голосов
/ 24 января 2019

Я настраиваю пользовательскую форму для захвата новых данных клиента.Каждому клиенту назначается идентификатор клиента (номер), рядом с которым входные данные сохраняются в листе Excel.Новая пользовательская форма со сводной оценкой проекта открывается после завершения первой пользовательской формы.

Я хочу сохранить присвоенный идентификационный номер клиента в первой пользовательской форме в текстовое поле второй пользовательской формы, но ошибка несоответствия типов сохраняетвыскакиваетПри отладке он показывает, что значение, присвоенное переменной, не переносится в текстовое поле.

(Тот же код ранее работал на этих же пользовательских формах и все еще работает на более поздних пользовательских формах

Private Sub Continue1_Click()

'Determine empty row

Dim emptyRow As Long
Sheet5.Activate

emptyRow = WorksheetFunction.CountA(Range("B:B")) + 1

'Transfer userform data to spreadsheet

Cells(emptyRow, 2).Value = CName.Value
Cells(emptyRow, 3).Value = Business.Value
Cells(emptyRow, 4).Value = Region.Value
Cells(emptyRow, 5).Value = Email.Value
Cells(emptyRow, 6).Value = CNumber.Value
Cells(emptyRow, 7).Value = WSource.Value
Cells(emptyRow, 8).Value = Flow.Value
Cells(emptyRow, 9).Value = Pressure.Value
Cells(emptyRow, 10).Value = Irrigation.Value

'Load Design Estimation userform

DesignEst.Client_ID.Value = emptyRow - 1
Unload Me
DesignEst.Show

End Sub

Если emptyRow имеет значение 5, это значение должно быть присвоено текстовому полю Client_ID в пользовательской форме DesignEst, но в настоящее время оно дает:

DesignEst.Client_ID.Value = ""

вместо:

DesignEst.Client_ID.Value = "5"

1 Ответ

0 голосов
/ 24 января 2019

Да, я сталкивался с такими же проблемами ранее. По какой-то причине пользовательская форма инициализируется со свойствами проекта, а не с теми, которые были назначены во время выполнения. Поскольку постоянные данные уже доступны в соответствующих ячейках, вы можете попытаться выполнить назначения пользовательской формы оценки проекта для события Form_initialize. Надеюсь, что это работает.

...