19.08.2020, 10:14
Hallo Zusammen,
ich habe lange an einer Eingabe- bzw. Suchmaske gearbeitet. Habe beides über jeweils eine Userform gelöst.
Ich würde die Userformen über eine dritte Userform öffnen können, welche ich auf dem ersten Sheet (Interface) verknüpfe.
Hier mein Problem: Für die Eingabemaske ist es notwendig, dass diese beim Starten ein bestimmtes Sheet (Data) geöffnet wird oder, dass die Eingabe im Hintergrund geschieht. Aktuell ist es allerdings so, dass der Eintrag einfach auf das Interface Sheet eingetragen wird.
Eine weitere Frage - nicht so wichtig - wäre noch, ob es möglich ist eine Userform beim Starten der Excel-Datei zu öffnen.
LG, Justin
Da das mein erster Beitrag ist, hoffe ich, dass ich die nötigen Informationen preisgebe:
INTERFACE USERFORM:
Option Explicit
Private Sub cboFilter_Click()
frmFilter.Show
End Sub
Private Sub cboInput_Click()
dataInput.Show
End Sub
Private Sub cboCancel2_Click()
Me.Hide
End Sub
EINGABE USERFORM:
Private Sub buttonInput_Click()
If txtProjekt = "" Or cboHersteller = "" Or txtMFC = "" Or cboMedium = "" Or cboGewinde = "" Or txtSerial = "" Or txtInvest = "" Or txtTeststand = "" Then
If MsgBox("Die Eingabe ist nicht vollständig. Sollen die jetzigen Einträge aufgelistet werden? (Die Seriennummer ist eine Pflichteingabe!)", vbQuestion + vbYesNo) <> vbYes Then
Exit Sub
End If
End If
Application.Goto("DataInput").Range ("B2")
If IsEmpty([B2]) Then
[B2].Select
Else
[B2].End(xlDown).Offset(1).Activate
End If
ActiveCell = txtProjekt.Value
ActiveCell.Offset(0, 1) = cboHersteller.Value
ActiveCell.Offset(0, 2) = txtMFC.Value
ActiveCell.Offset(0, 3) = cboMedium.Value
ActiveCell.Offset(0, 4) = cboGewinde.Value
ActiveCell.Offset(0, 5) = txtSerial.Value
ActiveCell.Offset(0, 6) = txtInvest.Value
ActiveCell.Offset(0, 7) = txtTeststand.Value
ActiveCell.Offset(1, 0).Select
Call resetForm
End Sub
Sub resetForm()
txtProjekt.Value = ""
cboHersteller.Value = ""
txtMFC.Value = ""
cboMedium.Value = ""
cboGewinde.Value = ""
txtSerial.Value = ""
txtInvest.Value = ""
txtTeststand.Value = ""
dataInput.txtProjekt.SetFocus
End Sub
ich habe lange an einer Eingabe- bzw. Suchmaske gearbeitet. Habe beides über jeweils eine Userform gelöst.
Ich würde die Userformen über eine dritte Userform öffnen können, welche ich auf dem ersten Sheet (Interface) verknüpfe.
Hier mein Problem: Für die Eingabemaske ist es notwendig, dass diese beim Starten ein bestimmtes Sheet (Data) geöffnet wird oder, dass die Eingabe im Hintergrund geschieht. Aktuell ist es allerdings so, dass der Eintrag einfach auf das Interface Sheet eingetragen wird.
Eine weitere Frage - nicht so wichtig - wäre noch, ob es möglich ist eine Userform beim Starten der Excel-Datei zu öffnen.
LG, Justin
Da das mein erster Beitrag ist, hoffe ich, dass ich die nötigen Informationen preisgebe:
INTERFACE USERFORM:
Option Explicit
Private Sub cboFilter_Click()
frmFilter.Show
End Sub
Private Sub cboInput_Click()
dataInput.Show
End Sub
Private Sub cboCancel2_Click()
Me.Hide
End Sub
EINGABE USERFORM:
Private Sub buttonInput_Click()
If txtProjekt = "" Or cboHersteller = "" Or txtMFC = "" Or cboMedium = "" Or cboGewinde = "" Or txtSerial = "" Or txtInvest = "" Or txtTeststand = "" Then
If MsgBox("Die Eingabe ist nicht vollständig. Sollen die jetzigen Einträge aufgelistet werden? (Die Seriennummer ist eine Pflichteingabe!)", vbQuestion + vbYesNo) <> vbYes Then
Exit Sub
End If
End If
Application.Goto("DataInput").Range ("B2")
If IsEmpty([B2]) Then
[B2].Select
Else
[B2].End(xlDown).Offset(1).Activate
End If
ActiveCell = txtProjekt.Value
ActiveCell.Offset(0, 1) = cboHersteller.Value
ActiveCell.Offset(0, 2) = txtMFC.Value
ActiveCell.Offset(0, 3) = cboMedium.Value
ActiveCell.Offset(0, 4) = cboGewinde.Value
ActiveCell.Offset(0, 5) = txtSerial.Value
ActiveCell.Offset(0, 6) = txtInvest.Value
ActiveCell.Offset(0, 7) = txtTeststand.Value
ActiveCell.Offset(1, 0).Select
Call resetForm
End Sub
Sub resetForm()
txtProjekt.Value = ""
cboHersteller.Value = ""
txtMFC.Value = ""
cboMedium.Value = ""
cboGewinde.Value = ""
txtSerial.Value = ""
txtInvest.Value = ""
txtTeststand.Value = ""
dataInput.txtProjekt.SetFocus
End Sub