Einsatzplanung Mitarbeiter
#1
Hallo,

mal wieder ein neues Problem. Anbei die Datei.

Die leeren Zeilen sich numerisch anzeigen zu lassen klappt, ich möchte aber, dass mir (am besten als Makro per Buttonclick) die Namen der Mitarbeiter angezeigt werden, die an einem Tag anwesend sind (also die Mitarbeiter mit leeren Zeilen !). Ich stelle mir das so vor, das ich unter jedem Datum ein Button erstelle und dieser per Makro an den jeweiligen Tag anzeigt.

Beispiel am 01.12. also Egon und Balder
am 02.12 Hugo und Balder usw usw

Kann mir da jemand helfen ?
Danke und Gruß

Thorsten


Angehängte Dateien
.xlsm   beispiel.xlsm (Größe: 15,7 KB / Downloads: 10)
Top
#2
Hola,

zur Info und Beachtung:

http://www.clever-excel-forum.de/Thread-Crossposting

Gruß,
steve1da
Top
#3
Oh , alles klar,
Frage hier auch gepostet :

http://www.office-loesung.de/p/viewtopic.php?f=166&t=708734

Danke !
Top
#4
Hi Thorsten,

(07.12.2015, 12:02)Thorsten78 schrieb: Ich stelle mir das so vor, das ich unter jedem Datum ein Button erstelle und dieser per Makro an den jeweiligen Tag anzeigt.

da ist es mMn sinnvoller, zu schauen, bei welchem Datum der Cursor steht und dann dementsprechend die anwesenden Kollegen/Mitarbeiter anzuzeigen.

Sonst hast Du ja Unmengen von Buttons.
Top
#5
Hallo,

ja das klingt auch interessant, bei mir werden aber bisher nur die leeren Zeilen angezeigt und nicht die entsprechenden Namen dazu.

Gruß

Thorsten
Top
#6
So finde ich schonmal die leere Zeile, aber jeweils nur eine und es erfolgt die Ausgabe in der MsgBox
Aber leider eben nur ein mal ...

Code:
Sub FIND_EMPTY_CELL()
Dim zeil As Integer, spalt As Integer
Dim z As Integer, s As Integer
   
   zeil = ActiveSheet.UsedRange.Rows.Count 'letzte ausgefüllte Zeile
   spalt = ActiveSheet.UsedRange.Columns.Count 'letzte ausgefüllte Spalte
   
   For z = 3 To ActiveSheet.UsedRange.Rows.Count 'mit Zeilen anfangen
       'Spalte für Spalte der obigen Zeile durchsuchen
       For s = 3 To ActiveSheet.UsedRange.Columns.Count
           If IsEmpty(Range(Cells(z, s), Cells(z, s)).Value) = True Then
               'leere Zelle gefunden
               
               MsgBox "Die Zeile ist" & z & s
               MsgBox "Und anwesend ist" & ActiveSheet.Cells(z, 1).Value
               
               'Makro verlassen
               
               Exit Sub
           End If
       Next s
   Next z
End Sub
Top
#7
Niemand ne Idee für die Schleife ? Gruß Thorsten
Top
#8
Hallo Thorsten,

mein Vorschlag mit Autofilter per Doppelklick in die Zeile 2:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Target.Row = 2 Then
   If IsDate(Target.Offset(-1).Value) Then
     If Me.FilterMode Then
       If Me.AutoFilter.Filters(Target.Column - Me.AutoFilter.Range.Column + 1).On Then
         Me.ShowAllData
       Else
         Me.ShowAllData
         Me.AutoFilter.Range.AutoFilter Field:=Target.Column - Me.AutoFilter.Range.Column + 1, Criteria1:="X"
       End If
     Else
       Me.AutoFilter.Range.AutoFilter Field:=Target.Column - Me.AutoFilter.Range.Column + 1, Criteria1:="X"
     End If
   End If
 End If
End Sub


.xlsm   Einsatzplanung Mitarbeiter Kuwer.xlsm (Größe: 20,79 KB / Downloads: 9)

Gruß Uwe
Top
#9
Hi Uwe,

wenn ich die Ausgangsfrage richtig verstanden habe, müßte das Kriterium eher " " sein.

Code:
...
         Me.AutoFilter.Range.AutoFilter Field:=Target.Column - Me.AutoFilter.Range.Column + 1, Criteria1:=" "
       End If
     Else
       Me.AutoFilter.Range.AutoFilter Field:=Target.Column - Me.AutoFilter.Range.Column + 1, Criteria1:=" "
...
Top
#10
Hi Ralf,

vielleicht, vielleicht auch nicht ...
Aber was genau gefiltert werden soll, ist ja Conchita. :)

Gruß Uwe
Top


Gehe zu:


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