Microsoft
Software
Hardware
Network
Frage : Excel/VBA/Userform
Ich habe ein userform, das Daten eingegeben und die Informationen zu den Zellen auf Blatt 1. geschrieben. Die folgenden Felder sind erfasste Informationen, Datum, Kurs, Dauer, Trainer, Identifikation, erster Vorname, Nachname, Status. Dieses Teil alles bearbeitet fine.
The Problem, das ich bin mit einem kleinen Abschnitt habe, der Entwicklungsart genannt. Ich muss Entwicklungsart eingeführt werden, falls gewählt und schreibe, um 1 „neues Material“, „vorhandenes Material“, „anderes“, abhängig von dem Wahlknopf zu bedecken, der ohne die Anforderung des Angestellten gewählt, einzeln aufführe den Abschnitt, der ergänzt.
, in dem Augenblick als dieses Teil nur arbeitet, wenn der Angestelltsonderkommandoabschnitt auch ergänzt. Ich kann ihn nicht an gelangen, um anders zu arbeiten, aber bekannt gegeben meinen Code meinen. Jemand half mir mit diesem und ich addierte dieses Teil innen, also bin ich sicher, dass ich es nicht tat, das, correctly.
Here mein Code ist und hervorgehoben in fettem ist, wo die Mühe I think.
Private VorcmdOk_Click ()
schwaches RowCount als Long
schwaches ctl als Control
schwaches ctlName als String
schwaches ctlNumber als String
schwaches ctlField da String
' Überprüfungs-Benutzer input
ist, wenn Me.txt Date.Value = "" Then
MsgBox „bitte ein Datum erreichen. “, vbExclamation, „Trainings-Maschinenbordbuch "
Me.txt Date.SetFocus
Ausgang Sub
Ende If
, wenn Me.cboCourseName.Value = "" Then
MsgBox „bitte Kurs-Namen eintragen. “, vbExclamation, „Trainings-Maschinenbordbuch "
Me.txt Date.SetFocus
Ausgang Sub
Ende If
, wenn Me.txt Duration.Value = "" Then
MsgBox „bitte Dauer in Stunden eintragen. “, vbExclamation, „Trainings-Maschinenbordbuch "
Me.txt Date.SetFocus
Ausgang Sub
Ende If
, wenn Me.cboTrainer.Value = "" Then
MsgBox „bitte Kostenstelle wählen. “, vbExclamation, „Trainings-Maschinenbordbuch "
Me.txt Date.SetFocus
Ausgang Sub
Ende If
, wenn nicht IsNumeric (Me.txtDuration.V
alue) Then
MsgBox „die Dauer eine Zahl sein muss. “, vbExclamation, „Trainings-Maschinenbordbuch "
Me.txt Date.SetFocus
Ausgang Sub
Ende If
, wenn nicht IsDate (Me.txtDate.Value) Then
MsgBox „der Datumkasten ein Datum enthalten muss. “, schreiben vbExclamation, „Trainings-Maschinenbordbuch "
Me.txt Date.SetFocus
Ausgang Sub
Ende If
' Daten zum worksheet
„erhalten folgendes vorhandenes row
RowCount = Arbeitsblätter („Sheet1“). Range
(„A1“). Cur
rentRegion
.Rows.Coun
t
“ kommen die Details für jede Linie mit Daten (nicht freier Raum) in ein array
„schreiben dann alle Felder zur folgenden Linie using „rowCount "
für jedes ctl in Me.Controls
ctlName = verließ (ctl. Name, 12)“ erhalten das Feld name
wenn ctlName = „txtFirstName“ Then
wenn ctl. Das Wert <>, das Then
ctlNumber = vbNullString ist, ersetzen (ctl. Name, „txtFirstName“, "") „erhalten das Feld number
“ schreiben in allgemeines/allgemeines fields
mit Arbeitsblättern („Sheet1“). ()
Range
„Trainer details
. Versatz (RowCount, 0). Wert = DateValue (Me.txtDate.Value
)
. Versatz (RowCount, 1).Value = Me.cboCourseName.Value
. Versatz (RowCount, 2).Value = Me.txt Duration.Value
. Versatz (RowCount, 3).Value = Me.cboTrainer.Value
“ Entwicklung details
wenn FirstOptBtn = zutreffendes Then
. Versatz (RowCount, 9).Value = „neues materielles "
ElseIf SecondOptBtn = zutreffendes Then
. Versatz (RowCount, 9).Value = „vorhandenes materielles "
ElseIf ThirdOptBtn = zutreffendes Then
. Versatz (RowCount, 9).Value = „anderes "
Else
„nothing
/>“ Datum entered
. Versatz (RowCount, 10).Value = Format (jetzt, „dd/mm/yyyy hh: nn: SS“)
Ende With
„ausarbeiten die gegenwärtige Feldzahl ge und schreiben Rest Daten line
ctlField = „txtEmployeeID“ u. trimmen (ctlNumber)
Arbeitsblätter („Sheet1“). Range
(„A1“). Off
set (RowCou
nt, 4).Value = Me.Controls (ctlField). Valu
e
ctlField = „txtFirstName“ u. Ordnung (ctlNumber)
Arbeitsblätter („Sheet1“). Range
(„A1“). Off
set (RowCou
nt, 5).Value = Me.Controls (ctlField). Valu
e
ctlField = „txtLastName“ u. Ordnung (ctlNumber)
Arbeitsblätter („Sheet1“). Range
(„A1“). Off
set (RowCou
nt, 6).Value = Me.Controls (ctlField). Valu
e
ctlField = „cboStatus“ u. Ordnung (ctlNumber)
Arbeitsblätter („Sheet1“). Range
(„A1“). Off
set (RowCou
nt, 7).Value = Me.Controls (ctlField). Valu
e
ctlField = „cboDepartment“ u. Ordnung (ctlNumber)
Arbeitsblätter („Sheet1“). Range
(„A1“). Off
set (RowCou
nt, 8).Value = Me.Controls (ctlField). Valu
e
“ Stufensprung-Reihenzählimpuls für jedes neue Angestelltdaten line
RowCount = RowCount + 1
Ende If
Ende If
folgende ctl
Call clear_form
MsgBox „Update abschloß“, vbInformation + vbOKOnly, „komplettes "
End Sub
also, das es Datum schlingt, Kurs, Dauer, Trainer, entsprechend der Zahl den Angestellten l, die im Angestelltsonderkommandoabschnitt eingeführt. dieses Teil adaequat ist, während stated.
Hope dieses sinnvoll ist und jede mögliche Hilfe, die Entwicklungsart Einzelheit zu erhalten groß sein!
Cheers
Antwort : Excel/VBA/Userform
Es tut mir leid in dem Augenblick als wir die unzulänglichen Informationen, zum Ihres Codes völlig auszuprüfen haben, und es ist nicht genau frei, was Sie tun.
Ich verstand nicht Ihre vorletzte Anmerkung völlig, aber Verfahren (Unterseeboote oder Funktionen) arbeiten normalerweise noch, wenn sie zwischen Codemodulen geklebt. Blöcke des Codes innerhalb von den Verfahren benötigen mehr Sorgfalt.
Bezüglich Ihrer letzten Anmerkung: Wenn Sie glauben, dass Ihre ursprüngliche Frage beantwortet worden, dann sein es am besten, die Frage zu schließen und ein Neues aufzuwerfen. Andernfalls können Sie die Position im Augenblick erklären?
Weitere Lösungen
Wort-Presse, die Frage bewirtet
asp.net: Mein Problem ist, benutze ich einen ajax Ergänzung Kalender, um BeginDate u. EndDate Werte einzutragen
Silverlight 4 UI Ereignisse
wie kann ich irgendeine Bildentschließung online ändern und sie zum lokalen PC dann innen sparen??
ZFS Sicherungshilfe Ubuntu 10.0.4 LTS
Form-Frage für Kristallreports
Betreffend INOTES in Lotos 8.5
Mühen, die ZWISCHEN Logik erhalten zu arbeiten
Spannungs-Sensor ermittelte einen Ausfall auf Bediener DELL-PowerEdge 2650
broadcom NIC teaming