Вопрос : Эксел/VBA/Userform

Я имею userform данным inputted и информация написана к клеткам на листе 1. Следующий полями будут захваченная информация, дата, курс, продолжительность, тренер, удостоверение личности, имя, фамилия, состояние. Эта часть все работает проблема fine.
The я имею при один малый вызванный раздел типом развития. Мне нужно тип развития быть вписанным если выбрано и пишу для того чтобы покрыть 1 «новый материал», «существующий материал», «другое», в зависимости от кнопки варианта выбранной без требования работника детализирую раздел будучи заполнянным вне.

в настоящее время эта часть только будет работать если раздел деталей работника также заполнен вне. Я не могу получить, что его к работал в противном случае, а вывешивал мое Кодего. Кто-то помогло мне с этим и я добавил ту часть внутри поэтому я уверен, котор я не сделало ее correctly.

Here будет моим Кодим и выделено в смелейшем будет где тревогой будет
тусклое RowCount cmdOk_Click I think.

Private Sub () как ctl Long
тусклое как ctlName Control
тусклое как ctlNumber String
тусклое как ctlField String
тусклое по мере того как input
потребителя проверки
' String
если Me.txt Date.Value = "" Then
MsgBox «пожалуйста вписывает дату. », vbExclamation, «журнал " конец If
тренировки Sub
выхода
Me.txt Date.SetFocus
если Me.cboCourseName.Value = "" Then
MsgBox «пожалуйста вписывают имя курса. », vbExclamation, «журнал " конец If
тренировки Sub
выхода
Me.txt Date.SetFocus
если Me.txt Duration.Value = "" Then
MsgBox «пожалуйста вписывает продолжительность в часы. », vbExclamation, «журнал " конец If
тренировки Sub
выхода
Me.txt Date.SetFocus
если Me.cboTrainer.Value = "" Then
MsgBox «пожалуйста выбирают учетно-калькуляционный отдел отдел. », vbExclamation, «журнал " конец If
тренировки Sub
выхода
Me.txt Date.SetFocus
если не IsNumeric (Me.txtDuration.Value) Then
MsgBox «продолжительность должно быть номером. », vbExclamation, «журнал " конец If
тренировки Sub
выхода
Me.txt Date.SetFocus
если не IsDate (Me.txtDate.Value) Then
MsgBox «коробка даты должно содержать дату. », vbExclamation, «журнал " конец If

' тренировки Sub
выхода
Me.txt Date.SetFocus
пишет данные к worksheet
«получает следующее имеющееся row
RowCount = рабочий лист («Sheet1»). Range («A1»).
CurrentRegion.Rows.Count
» получает детали для каждой линии с данными (не пробелом) в array
«после этого пишет все поля к следующей линии using

«rowCount " для каждого ctl в ctlName
Me.Controls
= вышло (ctl. Имя, 12)» получает
name
поля если ctlName = «txtFirstName» Then
если ctl. <> значения vbNullString ctlNumber
Then
= заменяет ть (ctl. Имя, «txtFirstName», "") «получают
number
поля» пишут в обычный/вообще fields
с рабочий лист («Sheet1»). () Details
тренера
Range «. Смещение (RowCount, 0).
значения = DateValue (Me.txtDate.Value). Смещение (RowCount, 1).Value = Me.cboCourseName.Value
. Смещение (RowCount, 2).Value = Me.txt Duration.Value
. Смещение (RowCount, 3).Value =
Me.cboTrainer.Value
details
развития » если FirstOptBtn = поистине Then
. Смещение (RowCount, 9).Value = «новое материальное "
ElseIf SecondOptBtn = поистине Then
. Смещение (RowCount, 9).Value = «существующий материальное "
ElseIf ThirdOptBtn = поистине Then
. Смещение (RowCount, 9).Value = «другое " entered
даты
Else
«nothing
/>». Смещение (RowCount, 10).Value = форма (теперь, «hh dd/mm/yyyy: nn:
конца With


ss») «разрабатывает в настоящее время номер поля и пишет остальнои ctlField line
данных = «txtEmployeeID» & уравновешивает рабочий лист
(ctlNumber) («Sheet1»). Range («A1»). Offset (RowCount, 4).Value = Me.Controls (ctlField). ctlField Value
= «txtFirstName» &
уравновешивания (ctlNumber) рабочий лист («Sheet1»). Range («A1»). Offset (RowCount, 5).Value = Me.Controls (ctlField). ctlField Value
= «txtLastName» &
уравновешивания (ctlNumber) рабочий лист («Sheet1»). Range («A1»). Offset (RowCount, 6).Value = Me.Controls (ctlField). ctlField Value
= «cboStatus» &
уравновешивания (ctlNumber) рабочий лист («Sheet1»). Range («A1»). Offset (RowCount, 7).Value = Me.Controls (ctlField). ctlField Value
= «cboDepartment» &
уравновешивания (ctlNumber) рабочий лист («Sheet1»). Range («A1»). Offset (RowCount, 8).Value = Me.Controls (ctlField). Value
» для каждого нового clear_form
MsgBox «уточнения ctl
Call
If
конца If
конца line
RowCount данным по работника =
RowCount + 1
следующего завершил», vbInformation + vbOKOnly, «вполне "
End Sub

also, котор он закрепляет петлей дата, курс, продолжительность, тренер, согласно числу работников зарегистрированных в раздел детали работника. эта часть работает отлично по мере того как stated.
Hope это делает чувство и любая помощь получать тип развития деятельность деталей был бы больш!
Cheers
 
class=

Ответ : Эксел/VBA/Userform

Я огорченн, в настоящее время мы имеем недостаточную информацию полно для того чтобы отлаживать ваше Кодего, и не ясно точно вы делаете.

Я не понял ваш предоконечный комментарий полно, но процедуры (подводные лодки или функции) обычно все еще будут работать после того как они наклеиваны между модулями Кодего. Блокам Кодего изнутри процедур была бы нужна больше внимательности.

Re ваш последний комментарий: Если вы чувствуете, то что ваш первоначально вопрос был отвечен, тогда было бы само лучше закрыть вопрос и поднять новое одно. В противном случае, можете вы уточюнить положение в настоящее время?



Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us