Ho un userform che i dati sono immessi e le informazioni sono redatte alle cellule sullo strato 1. I seguenti campi sono informazioni bloccate, la data, il corso, la durata, l'addestratore, l'identificazione, il nome, il cognome, condizione. Questa parte tutta funziona il problema che di fine.
The ho sono con una piccola sezione denominata tipo di sviluppo. Devo il tipo di sviluppo essere inserito se selezionato e scrivo per rivestire 1 “nuovo materiale„, “materiale attuale„, “altro„, secondo il pulsante di opzione scelto senza il requisito dell'impiegato dettaglio la sezione che è compilata.
dal momento che questa parte funziona soltanto se la sezione dei particolari degli impiegati inoltre è compilata. Non posso convincerlo a per funzionare al contrario, ma ho inviato il mio codice. Qualcuno lo ha aiutato con questo ed ho aggiunto quella parte dentro in modo da sono sicuro che non la ho fatta correctly.
Here è il mio codice ed evidenziato in GRASSETTO è dove la difficoltà è RowCount fioco del cmdOk_Click di I think.
Private () come ctl fioco di Long come ctlName fioco di Control come ctlNumber fioco di String come ctlField fioco di String poichè input dell'utente del controllo del 'di String se Me.txt Date.Value = "" Then MsgBox “entra prego in una data. „, vbExclamation, “ceppo " estremità If che di addestramento di Sub dell'uscita del Me.txt Date.SetFocus se Me.cboCourseName.Value = il "" Then MsgBox “introducono prego il nome di corso. „, vbExclamation, “ceppo " estremità If di addestramento di Sub dell'uscita del Me.txt Date.SetFocus se Me.txt Duration.Value = "" Then MsgBox “fornisce prego la durata in ore. „, vbExclamation, “ceppo " estremità If di addestramento di Sub dell'uscita del Me.txt Date.SetFocus se Me.cboTrainer.Value = il "" Then MsgBox “scelgono prego il centro di costo. „, il vbExclamation, “ceppo " l'estremità If se non IsNumeric (Me.txtDuration.Value) Then MsgBox di addestramento di Sub dell'uscita del Me.txt Date.SetFocus “la durata deve essere un numero. „, il vbExclamation, “ceppo " l'estremità If se non IsDate (Me.txtDate.Value) Then MsgBox di addestramento di Sub dell'uscita del Me.txt Date.SetFocus “la scatola della data deve contenere una data. „, il vbExclamation, “ceppo " l'estremità If
'di addestramento di Sub dell'uscita del Me.txt Date.SetFocus redige i dati a worksheet “ottiene il row RowCount = i manuali (“Sheet1„). Range (“A1„). Il di CurrentRegion.Rows.Count „ entra i particolari per ogni linea con i dati (non spazio in bianco) in un array “allora scrive tutti i campi alla linea seguente using il del “del rowCount " per ogni ctl nel ctlName del di Me.Controls = ha andato (ctl. Il nome, 12)„ ottiene il del name del campo se ctlName = “txtFirstName„ Then se ctl. Il <> di valore che vbNullString il ctlNumber del di Then = sostituisce (ctl. Il nome, “il txtFirstName„, il "") “ottengono il del number del campo„ scrivono fields con i manuali (“Sheet1„). Range (“dell'addestratore del /> “. Contrappeso (RowCount, 0). di DateValue = di valore (Me.txtDate.Value). Contrappeso (RowCount, 1).Value = Me.cboCourseName.Value . Contrappeso (RowCount, 2).Value = Me.txt Duration.Value . Contrappeso (RowCount, 3).Value = details di sviluppo del del di Me.cboTrainer.Value „ se FirstOptBtn = Then . Contrappeso (RowCount, 9).Value = “nuovo " ElseIf SecondOptBtn = Then . Contrappeso (RowCount, 9).Value = ElseIf ThirdOptBtn = Then . Contrappeso (RowCount, 9).Value = “l'altro " entered della data del Else “nothing estremità If „. Contrappeso (RowCount, 10).Value = disposizione (ora, “hh di dd/mm/yyyy: nn: il dell'estremità With del degli ss„) “risolve il numero di campo corrente e scrive il resto del ctlField del line di dati = “txtEmployeeID„ & assetta i manuali del (del ctlNumber) (“Sheet1„). Range (“A1„). Offset (RowCount, 4).Value = Me.Controls (ctlField). ctlField di Value = “txtFirstName„ & manuali del della disposizione (ctlNumber) (“Sheet1„). Range (“A1„). Offset (RowCount, 5).Value = Me.Controls (ctlField). ctlField di Value = “txtLastName„ & manuali del della disposizione (ctlNumber) (“Sheet1„). Range (“A1„). Offset (RowCount, 6).Value = Me.Controls (ctlField). ctlField di Value = “cboStatus„ & manuali del della disposizione (ctlNumber) (“Sheet1„). Range (“A1„). Offset (RowCount, 7).Value = Me.Controls (ctlField). ctlField di Value = “cboDepartment„ & manuali del della disposizione (ctlNumber) (“Sheet1„). Range (“A1„). Offset (RowCount, 8).Value = Me.Controls (ctlField). Value „ per ogni nuovo clear_form MsgBox “aggiornamento del ctl Call del di If di conclusione di If di conclusione del line RowCount di dati degli impiegati = del di 1 ha completato„, vbInformation + vbOKOnly, End Sub
also che collega la data in circuito, il corso, la durata, addestratore, secondo il numero degli impiegati inseriti nella sezione del particolare degli impiegati. questa parte funziona benissimo mentre stated. Hope questo ha significato e tutto l'aiuto ottenere il tipo di sviluppo funzionamento di particolari sarebbe grande! Cheers
class= del
|