suchen Dateneingabe und löschen über Userform
#1
Hallo zusammen,

ich habe eine Urlaubsdateidatei wo ich über eine Userform Daten eingeben möchte. Die Daten sollen in das Tabellenblatt Mitarbeiter geschrieben werden.
(Spalte B (ab Zeile 8)=Name, Spalte C=Team, Spate D=Resturlaub und Spalte E aktueller Urlaub)

Diese Eintrage solle wenn möglich alphabetisch in die Spalte B eingetragen werden.

Nun möchte ich diese Einträge falls der Mitarbeiter nicht mehr im Unternehmen ist auch wieder löschen können. Wenn möglich auf allen Tabellenblättern Mitarbeiter, Januar....Dezember.

Könnt ihr mir hier eventuell helfen?

Danke und VG Mario
Top
#2
Hallo Mario,

könntest Du die Datei hier hochladen?
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Mario
Top
#3
Hallo Stefan,

gerne, aber wie mache ich das hier?

VG Mario
Top
#4
Hallo Mario,

Arbeitsmappen zur Verfügung stellen
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Mario
Top
#5
Hallo Stefan,

musste erst einmal diverses löschen, da die Datei zu groß war :26:

VG Mario
Top
#6
Hallo zusammen,

mein Code sieht bis jetzt so aus:

Code:
Option Explicit

Dim Bol As Boolean

Private Sub ComboBox1_Click()
If ComboBox1.ListIndex <> 0 Then
    TextBox1 = Cells(ComboBox1.ListIndex + 2, 2)
    TextBox2 = Cells(ComboBox1.ListIndex + 2, 3)
    TextBox3 = Cells(ComboBox1.ListIndex + 2, 4)
    TextBox4 = Cells(ComboBox1.ListIndex + 2, 5)
    
Else
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
  
End If
End Sub

Private Sub CommandButton1_Click()
Dim arr As Variant
Dim zeile As Long
Dim letzte As Long

If ComboBox1.ListIndex > 0 Then
    zeile = ComboBox1.ListIndex + 2
    letzte = Cells(Rows.Count, 2).End(xlUp).Row
    arr = Range("B" & zeile + 1 & ":E" & letzte)
    Range("B" & zeile & ":E" & letzte).ClearContents
    Range("B" & zeile & ":E" & letzte - 1) = arr
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
  
    UserForm_Initialize
End If
End Sub

Private Sub CommandButton2_Click()
Dim xZeile As Long
If TextBox1 = "" Then Exit Sub
If ComboBox1.ListIndex = 0 Then
    xZeile = [B65536].End(xlUp).Row + 2
Else
    xZeile = ComboBox1.ListIndex + 2
End If
Cells(xZeile, 2) = TextBox1
Cells(xZeile, 3) = TextBox2
Cells(xZeile, 4) = TextBox3

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""

ActiveSheet.Unprotect Password:="9010ml"
ActiveSheet.Range("B3:E200").Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
ActiveSheet.Protect Password:="9010ml"
Range("A1").Select
UserForm_Initialize
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub UserForm_Activate()
'Datum und Uhrzeit anzeigen
Label9.Caption = Date

Bol = True
Do Until Bol = False
DoEvents
Label10.Caption = Time
Loop
End Sub

Private Sub UserForm_Initialize()
Dim aRow, i As Long
Application.EnableEvents = False
ComboBox1.Clear
aRow = [B65536].End(xlUp).Row
ComboBox1.AddItem "Person hinzufügen, ändern oder entfernen!"
For i = 3 To aRow
    ComboBox1.AddItem Cells(i, 2) & ", " & Cells(i, 3) & ", " & Cells(i, 4) & ", " & Cells(i, 5)
Next i
ComboBox1.ListIndex = 0
Application.EnableEvents = True
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Bol = False
End Sub
]

Leider bekomme ich in der folgenden Zeile immer eine Fehlermeldung.

ActiveSheet.Range("B3:E200").Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Eventuell könnt ihr mir ja helfen.

Vielen Dank und Gruß Mario

Code Tags korrigiert (Du solltest nicht an den Code-Tags rumspielen)
[Bild: smilie.php?smile_ID=1810]
Top
#7
[ctiveSheet.Range("B3:E200").Sheet.Range("B3:E200").

Leider bekomme ich in der folgenden Zeile immer eine Fehlermeldung.
Ich habe zunächst nach Syntaxfehlern geschaut.Der hier strahlte mich geradezu an

[ctiveSheet ... versuche es mal mit ActiveSheet

und Option Explicit hast Du meiner Meinung nach auch vergewaltigt:. . . . . . . . . [ /Option Explicit
Und wenn das schon so ist, dann gibt es sehr wahrscheinlich auch noch jede Menge andere Aufhänger
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Mario
Top
#8
Hallo,

ich gehe davon aus, dass die von Peter beschriebenen Dinge beim hinein kopieren hier ins Forum passiert sind.

Ich erkenne an der Stelle keinen Fehler, der Code müsste funktionieren.

Welcher Fehler wird denn angezeigt, was steht in der Fehlermeldung?
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Mario
Top
#9
Hallo Mario,
(17.12.2014, 18:02)Mario schrieb: ...diverses löschen, da die Datei zu groß war...
das war nicht nötig
An der richtigen Stelle angepackt, siehe Screenshot
photo Marios_Urlaubsplan_zps125eaa5b.jpg
- einfach nur die Zeilen/Spaltenausblenden-Sache in den Normalmodus bringen
[-] Folgende(r) 1 Nutzer sagt Danke an WergibtmirRat für diesen Beitrag:
  • Mario
Top
#10
Hallo Attila,

sorry, dass ich mich jetzt erst melde. Hatte gestern Weihnachtsfeier :30:.

Ich habe die Datei nochmal hochgeladen. Auf dem Blatt Mitarbeiter ist der Button "neu MA" hier öffnet sich die UF. hier kann ich schon neue Mitarbeiter anlegen und sie werde automatisch sortiert. Aber leider funktioniert das löschen noch nicht. Und ich habe es noch nicht hinbekommen, dass die MA auf allen Blättern angelegt werden. Huh

Eventuell hast du ja eine Idee.

VG Mario
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste