Clever-Excel-Forum

Normale Version: Beim Starten einer Userform Sheet ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
Hallo Justin,
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
With Worksheets("DataInput").Cells(Rows.Count, 2).End(xlUp)
.Offset(1, 0) = txtProjekt.Value
.Offset(1, 1) = cboHersteller.Value
.Offset(1, 2) = txtMFC.Value
.Offset(1, 3) = cboMedium.Value
.Offset(1, 4) = cboGewinde.Value
.Offset(1, 5) = txtSerial.Value
.Offset(1, 6) = txtInvest.Value
.Offset(1, 7) = txtTeststand.Value
End With
Call resetForm
End Sub
Gruß Uwe
Hallo Uwe,

vielen Dank für deine Nachricht. Leider wird der Eintrag immernoch auf dem aktuellen Worksheet getätigt. Habe lediglich den Namen DataInput in Data (Name des Worksheets) geändert.

Wo könnte das Problem liegen? Nach meinem Verständnis macht der Code Sinn...

LG, Justin

-> Hatte es doch nicht richtig editiert! Vielen Dank! Funktioniert einwandfrei!