Cuestión : Excel/VBA/Userform

Tengo un userform que los datos se entren y la información se escribe a las células en la hoja 1. Los campos siguientes son información capturada, fecha, curso, duración, amaestrador, identificación, nombre, apellido, estado. Esta parte toda trabaja problema de fine.

The que tengo estoy con una pequeña sección llamada tipo de desarrollo. Necesito el tipo de desarrollo ser incorporado si está seleccionado y escribo para cubrir 1 “nuevo material”, “material existente”, “otro”, dependiendo del botón de opción elegido sin el requisito del empleado detallo la sección que es completada.

en el momento que esta parte trabaja solamente si se completa la sección de los detalles del empleado también. No puedo conseguirla a para trabajar de otra manera, sino he fijado mi código. Alguien me ayudó con esto y agregué esa pieza adentro así que estoy seguro que no la hice que correctly.

Here es mi código y destacado en en negrilla es donde está el
RowCount dévil del cmdOk_Click de I think.

Private () como ctl dévil de Long
como ctlName dévil de Control
como ctlNumber dévil de String
como ctlField dévil de String
pues el input
del usuario del cheque del
' de String
si Me.txt Date.Value = "" Then
MsgBox “incorpora por favor una fecha. ”, vbExclamation, “registro " extremo If
del entrenamiento de Sub
de la salida del
Me.txt Date.SetFocus
si Me.cboCourseName.Value = el "" Then
MsgBox “incorporan por favor nombre del curso. ”, vbExclamation, “registro " extremo If
del entrenamiento de Sub
de la salida del
Me.txt Date.SetFocus
si Me.txt Duration.Value = "" Then
MsgBox “incorpora por favor la duración en horas. ”, vbExclamation, “registro " extremo If
del entrenamiento de Sub
de la salida del
Me.txt Date.SetFocus
si Me.cboTrainer.Value = el "" Then
MsgBox “eligen por favor el centro de coste. ”, el vbExclamation, “registro " extremo If
si no IsNumeric (Me.txtDuration.Value) Then
MsgBox del entrenamiento de Sub
de la salida del
Me.txt Date.SetFocus
“la duración debe ser un número. ”, el vbExclamation, “registro " extremo If
si no IsDate (Me.txtDate.Value) Then
MsgBox del entrenamiento de Sub
de la salida del
Me.txt Date.SetFocus
“la caja de la fecha debe contener una fecha. ”, el vbExclamation, “registro " extremo If

' del entrenamiento de Sub
de la salida del
Me.txt Date.SetFocus
escribe datos al worksheet
“consigue el row
RowCount = hojas de trabajo (“Sheet1”). Range (“A1”). El
de CurrentRegion.Rows.Count
” consigue los detalles para cada línea con los datos (no espacio en blanco) en un array
“entonces escribe todos los campos a la línea siguiente usar el
del
del “rowCount " para cada ctl en ctlName del
de Me.Controls
= se fue (ctl. El nombre, 12)” consigue el
del name
del campo si ctlName = “txtFirstName” Then
si ctl. El <> del valor vbNullString el ctlNumber del
de Then
= substituye (ctl. El nombre, el “txtFirstName”, el "") “consiguen el
del number
del campo” escriben en el fields
con las hojas de trabajo (“Sheet1”). () Details
del amaestrador del
Range “. Compensación (RowCount, 0).
del valor = de DateValue (Me.txtDate.Value). Compensación (RowCount, 1).Value = Me.cboCourseName.Value
. Compensación (RowCount, 2).Value = Me.txt Duration.Value
. Compensación (RowCount, 3).Value = details
del desarrollo del del
de Me.cboTrainer.Value
” si FirstOptBtn = Then
. Compensación (RowCount, 9).Value = “nuevo "
ElseIf SecondOptBtn = Then
. Compensación (RowCount, 9).Value =
ElseIf ThirdOptBtn = Then
. Compensación (RowCount, 9).Value = el “otro entered
de la fecha " del
Else
“nothing
/>”. Compensación (RowCount, 10).Value = formato (ahora, “hh de dd/mm/yyyy: nn: el
del extremo With

del
de los ss”) “resuelve el número de campo actual y escribe el resto de ctlField del line
de los datos = “txtEmployeeID” y ajusta las hojas de trabajo del
(del ctlNumber) (“Sheet1”). Range (“A1”). Offset (RowCount, 4).Value = Me.Controls (ctlField). ctlField de Value
= “txtFirstName” y hojas de trabajo del
del ajuste (ctlNumber) (“Sheet1”). Range (“A1”). Offset (RowCount, 5).Value = Me.Controls (ctlField). ctlField de Value
= “txtLastName” y hojas de trabajo del
del ajuste (ctlNumber) (“Sheet1”). Range (“A1”). Offset (RowCount, 6).Value = Me.Controls (ctlField). ctlField de Value
= “cboStatus” y hojas de trabajo del
del ajuste (ctlNumber) (“Sheet1”). Range (“A1”). Offset (RowCount, 7).Value = Me.Controls (ctlField). ctlField de Value
= “cboDepartment” y hojas de trabajo del
del ajuste (ctlNumber) (“Sheet1”). Range (“A1”). Offset (RowCount, 8).Value = Me.Controls (ctlField). Value
la” para cada nuevo clear_form
MsgBox “actualización del ctl
Call del
de If
del final de If
del final del line
RowCount de los datos del empleado = del
de RowCount + de 1
terminó”, vbInformation + vbOKOnly,
End Sub

also que coloca la fecha, curso, duración, amaestrador, según el número de empleados inscritos en la sección del detalle del empleado. ¡esta parte trabaja muy bien mientras que stated.
Hope esto tiene sentido y cualquier ayuda conseguir el tipo de desarrollo funcionamiento de detalles sería grande!
Cheers
 
class= del

Respuesta : Excel/VBA/Userform

Lo siento, en el momento que tenemos información escasa para eliminar errores completamente de su código, y no está claro exactamente qué usted está haciendo.

No entendía su penúltimo comentario completamente, pero los procedimientos (los submarinos o las funciones) generalmente todavía trabajarán cuando están pegados entre los módulos del código. Los bloques de código dentro de procedimientos necesitarían más cuidado.

Con referencia a su comentario pasado: Si usted siente que se ha contestado su pregunta original, después sería el mejor cerrar la pregunta y levantar un nuevo. ¿Si no, puede usted aclarar la posición en el momento?



Otras soluciones  
 
programming4us programming4us