Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen korrekt füllen via Userform

Zellen korrekt füllen via Userform
24.02.2019 13:24:51
Rizzo
Hallo zusammen
Ich bin ziemlich ein VBA-Neuling und habe daher nicht wirklich viel Erfahrung. Ich bin gerade eine Personaleinsatzplanung am erstellen für den Betrieb, jeodch stehen ich nun an.
Es geht um folgendes:
Ich möchte gerne über ein Userform automatisiert EInträge im Excel erstellen. Damit wir mehr Übersicht über die einzelnen Personen haben. Es soll beim richtigen Namen und Datumzeitraum die jeweilige Aktion mit den dazugehörigen kürzel eintragen. Tabelle "Dropdown"
Die Änderungen könnt Ihr direkt im Excel vornehmen.
Ich wäre für jede Hilfe Dankbar.
Beste Grüsse
Rizzo91

29
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
in welchem Excel?
24.02.2019 13:26:38
Werner
Hallo,
da ist keine Datei mit dabei.
Gruß Werner
AW: Zellen korrekt füllen via Userform
24.02.2019 15:19:40
Werner
Hallo Rizzo,
ohne deine ganzen Functionen, der komplette Code in der Schaltfläche.
Private Sub cmdÜbernehmen_Click()
Dim raFund As Range, loStart As Long, loEnd As Long
Dim loZeile As Long, strKürzel As String
Set raFund = Rows(39).Find(what:=CDate(Me.txtDatum1), LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
loStart = raFund.Column
End If
Set raFund = Rows(39).Find(what:=CDate(Me.txtDatum2), LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
loEnd = raFund.Column
End If
Set raFund = Columns(3).Find(what:=Me.cboName, LookIn:=xlValues, lookat:=xlPart)
If Not raFund Is Nothing Then
loZeile = raFund.Row
End If
Select Case Me.cboAktion.Value
Case "Urlaubverplant, halber Tag"
strKürzel = "UH"
Case "Urlaubverplant, ganzer Tag"
strKürzel = "U"
Case "Arbeiten, halber Tag"
strKürzel = "AH"
Case "Arbeiten, ganzer Tag"
strKürzel = "A"
Case "Krankheit, halber Tag"
strKürzel = "KH"
Case "Krankheit, ganzer Tag"
strKürzel = "K"
Case Else
End Select
Range(Cells(loZeile, loStart), Cells(loZeile, loEnd)) = strKürzel
End Sub
Gruß Werner
Anzeige
AW: Zellen korrekt füllen via Userform
24.02.2019 15:28:12
Rizzo
Hallo Werner
Recht herzlichen Dank für deine Unterstützung, habe noch kurz eine Frage.
Im folgenden Abschnitt bekomme ich noch einen "1004" Anwendungsfehler woran kann das liegen?
Range(Cells(loZeile, loStart), Cells(loZeile, loEnd)) = strKürzel
Beste Grüsse
Rizzo
AW: Zellen korrekt füllen via Userform
24.02.2019 15:41:41
Werner
Hallo Rizzo,
lös mal deine ganzen verbundenen Zellen Spalte C/D auf.
Gruß Werner
AW: Zellen korrekt füllen via Userform
24.02.2019 15:46:05
Rizzo
Hoi Werner
Einfach klasse... :) Ich danke dir vielmals. Funzt alles perfekt.
Noch eine kurze Frage. Wie würde der Code aussehen wenn ich noch ein Kommentar Feld (wie bei der Initial Arbeitsmappe) einfügen werden könnte?
Besten Dank & Gruss
Rizzo
Anzeige
AW: Zellen korrekt füllen via Userform
24.02.2019 16:10:35
Werner
Hallo Rizzo,
so:
Private Sub cmdÜbernehmen_Click()
Dim raFund As Range, loStart As Long, loEnd As Long
Dim loZeile As Long, strKürzel As String
Set raFund = Rows(39).Find(what:=CDate(Me.txtDatum1), LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
loStart = raFund.Column
End If
Set raFund = Rows(39).Find(what:=CDate(Me.txtDatum2), LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
loEnd = raFund.Column
End If
Set raFund = Columns(3).Find(what:=Me.cboName, LookIn:=xlValues, lookat:=xlPart)
If Not raFund Is Nothing Then
loZeile = raFund.Row
End If
Select Case Me.cboAktion.Value
Case "Urlaubverplant, halber Tag"
strKürzel = "UH"
Case "Urlaubverplant, ganzer Tag"
strKürzel = "U"
Case "Arbeiten, halber Tag"
strKürzel = "AH"
Case "Arbeiten, ganzer Tag"
strKürzel = "A"
Case "Krankheit, halber Tag"
strKürzel = "KH"
Case "Krankheit, ganzer Tag"
strKürzel = "K"
Case Else
End Select
If Me.txtKommentar  "" Then
Cells(loZeile, loStart).ClearComments
Cells(loZeile, loStart).AddComment Me.txtKommentar.Value
End If
Range(Cells(loZeile, loStart), Cells(loZeile, loEnd)) = strKürzel
End Sub
Übrigens schau dir mal deine Kürzelzuweisung an:
Urlaubverplant, ganzer Tag = UH / Urlaubverplant, halber Tag = U ?
Gruß Werner
Anzeige
AW: Zellen korrekt füllen via Userform
24.02.2019 16:18:06
Rizzo
Hoi Werner
Besten Dank das funzt Super :)
Ja ich muss diese nochmals unbenennen, dass macht nicht so ganz SInn wies jetzt da steht.
Gibt es auch eine Möglichkeit, dass bei initialisieren der Arbeitsmappe der Cursor immer direkt auf Tag heute springt?
Dies dies auch möglich einzubauen, dass wenn der Eintrag erfolgt ist, dass eine MsgBox kommt und auch direkt in die erste Zelle welcher der Eintrag erfolgt ist springt?
Also zusammengefasst:
- Tag heute cursor springt bis dahin beim öffnen der Mappe
- Nach dem Eintrag soll der Cursor auch dort hin springen wo man den Eintrag getätigt hat.
Beste Dank & Gruss
Rizzo
Anzeige
AW: Zellen korrekt füllen via Userform
24.02.2019 16:49:50
Werner
Hallo Rizzo,
1. auswählen des Startdatums aus der Userform:
Private Sub cmdÜbernehmen_Click()
Dim raFund As Range, loStart As Long, loEnd As Long
Dim loZeile As Long, strKürzel As String
Set raFund = Rows(39).Find(what:=CDate(Me.txtDatum1), LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
loStart = raFund.Column
End If
Set raFund = Rows(39).Find(what:=CDate(Me.txtDatum2), LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
loEnd = raFund.Column
End If
Set raFund = Columns(3).Find(what:=Me.cboName, LookIn:=xlValues, lookat:=xlPart)
If Not raFund Is Nothing Then
loZeile = raFund.Row
End If
Select Case Me.cboAktion.Value
Case "Urlaubverplant, halber Tag"
strKürzel = "UH"
Case "Urlaubverplant, ganzer Tag"
strKürzel = "U"
Case "Arbeiten, halber Tag"
strKürzel = "AH"
Case "Arbeiten, ganzer Tag"
strKürzel = "A"
Case "Krankheit, halber Tag"
strKürzel = "KH"
Case "Krankheit, ganzer Tag"
strKürzel = "K"
Case Else
End Select
If Me.txtKommentar  "" Then
Cells(loZeile, loStart).ClearComments
Cells(loZeile, loStart).AddComment Me.txtKommentar.Value
End If
Range(Cells(loZeile, loStart), Cells(loZeile, loEnd)) = strKürzel
Cells(loZeile, loStart).Select
Set raFund = Nothing
End Sub
2. auswählen des aktuellen Datums bei Start der Mappe
Private Sub Workbook_Open()
Dim raFund As Range
Worksheets("Personalplaner").Activate
Set raFund = Rows(39).Find(what:=Date, LookIn:=xlFormulas, lookat:=xlWhole)
If Not raFund Is Nothing Then
Cells(8, raFund.Column).Select
End If
Set raFund = Nothing
End Sub

Dieser Code gehört ins Codemodul von "DieseArbeitsmappe"
Im VBA-Projekt Explorer im Verzeichnisbaum links Doppelklick auf "DieseArbeitsmappe" und den Code rechts ins Codefenster kopieren.
Gruß Werner
Anzeige
AW: Zellen korrekt füllen via Userform
24.02.2019 19:19:40
Rizzo
Hoi Werner
Funzt wunderbar. Besten Dank.
Vielleicht komme ich dann nochmals auf dich zu, muss es komplett umstellen und dabei brauche ich deine Hilfe.
Würdest du mir dabei helfen?
Beste Grüsse
Rizzo
AW: Zellen korrekt füllen via Userform
25.02.2019 07:39:43
Werner
Hallo Rizzo,
ob ich dir dabei helfen kann muss ich erst mal sehen wenn du mit deiner "Umstellung" fertig bist.
Gruß Werner
AW: Zellen korrekt füllen via Userform
25.02.2019 13:30:55
Rizzo
Hoi Werner
So habe die "Umstellung" respektive das Vorhaben etwas erläutert, ich muss dazu sagen es ist alles noch am Anfang, mit Ideen welche in etwa so wie im Excel umgesetzt werden soll.
Andere Vorschläge wie man es sonst noch machen könnte vom Layout her bin ich offen.
Was sagst du dazu? Wärst du bereit mir zu helfen?
Komm auf mich zu falls du Fragen hast.
https://www.herber.de/bbs/user/127903.xlsm
Beste Grüsse
Rizzo
Anzeige
AW: Zellen korrekt füllen via Userform
26.02.2019 19:13:15
Rizzo
Hallo Werner
Wollte kurz fragen, ob du mein Eintrag gesehen hast?
Beste Grüsse
Rizzo
AW: Zellen korrekt füllen via Userform
26.02.2019 23:50:11
Werner
Hallo,
ja, hab ich gesehen, hatte aber bisher keine Zeit. Das ist ja jetzt keine Sache von 5 Minuten.
Gruß Werner
AW: Zellen korrekt füllen via Userform
27.02.2019 07:46:07
Rizzo
Hoi Werner
Danke für deine Rückmeldung, wollte nur Fragen ob du mir dabei helfen kannst. Da ich eben nichts mehr gehört habe, wurde ich unsicher.
Also es war kein Druck aufsetzten oder so. :)
Beste Grüsse
Rizo
Zwischenmeldung
01.03.2019 07:55:28
Werner
Hallo,
ich hab mir die Beispielmappe jetzt mal genauer angeschaut (und auch schon ein wenig daran gearbeitet).
Folgende Anmerkungen:
1. wozu getrennte Userformen Vorerfassung und MA-Auswahl? Das kann man doch in eine Userform packen.
2. und wenn, dann machen deine Listboxen auf MA-Auswahl keinen Sinn. Dort willst du die Auswahl aus der Vorauswahl übernehmen. Du kannst aber immer nur eine Firma in der Combobox der Vorerfassung auswählen - wozu dann also die Listboxen.
3. Eine Mehrfachauswahl bei den Tagen ist mit OptionButton nicht möglich. Da kann man nicht zwei gleichzeitig anwählen und du mußt auf CheckBoxen ausweichen.
Mein "Bastelergebnis" kann ich dir im Moment leider nicht hochladen. Mach ich dann Morgen im Laufe des Nachmittages.
Gruß Werner
AW: Zwischenmeldung
01.03.2019 08:38:36
Rizzo
Hoi Werner
Du bist der Beste :)
Eben wie gesagt, du bist Profi und weist genau wie es am besten gehen würde. Somit würde ich sagen..
1. Mach "ein" Userform draus.
2. Du hast recht macht wirklich keinen Sinn. Dann lassen wir es mit den Listboxen.
3. Dann werden wir hier Checkboxen nehmen.
Ich danke dir vielmals für deine Unterstützung
Beste Grüsse
Rizzo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige