Herbers Excel-Forum - das Archiv

Suchfunktion per Vba

Bild

Betrifft: Suchfunktion per Vba
von: Ulf
Geschrieben am: 15.10.2003 10:28:37
Hi Excel Freunde,

Ich habe folgende Nuss zu knacken die meine Fähigkeit leider überschreitet. Ich öffne ein Workbook immer beginned auf dem Tabellen Blatt 'Januar'. Ich habe ein Tabellenblatt mit dem Namen 1.Haljahr Urlaub und 2. Halbjahr Urlaub. In diesem Stehen in der Zeile 3 Datumswerte '3.1 usw' in der Spalte B5:B12 stehen Namen. In die Spalten dahinter wird jeweils der Urlaub eingetragen,mit Kürzeln. Ist es möglich das Ich in das Worbook_Open Procedere eine MsgBox einbauen die mir zum aktuellen Datum mitteilt ob einer der Mitarbeiter Urlaub hat??

thx for your help

Ulf

Bild

Betrifft: AW: Suchfunktion per Vba
von: Dirk
Geschrieben am: 15.10.2003 11:24:13
Hallo!

Hab mir mal Gedanken zum Thema gemacht und folgenden Code geschrieben. Darin wird allerdings ausgegangen, dass die Datumswerte nur den Tag bezeichnen. Also steht zum Beispiel nicht "3.1." in der Tabelle, sondern nur die "3". Die "1" ist ja durch das Tabellenblatt schon vorgegeben.

Public wk As Worksheet

Sub tabelleauswahl()
Monat1 = DatePart("m", Date)

Select Case Monat1
Case 1
Set wk = Worksheets("Januar")
Case 2
Set wk = Worksheets("Februar")
Case 3
Set wk = Worksheets("März")
Case 4
Set wk = Worksheets("April")
Case 5
Set wk = Worksheets("Mai")
Case 6
Set wk = Worksheets("Juni")
Case 7
Set wk = Worksheets("Juli")
Case 8
Set wk = Worksheets("August")
Case 9
Set wk = Worksheets("September")
Case 10
Set wk = Worksheets("Oktober")
Case 11
Set wk = Worksheets("November")
Case 12
Set wk = Worksheets("Dezember")
End Select

End Sub


Sub Urlaub()
ende = DatePart("d", Date)
i = 3
Do Until wk.Cells(3, i).Value = ende
i = i + 1
Loop
For j = 5 To 15
If Not IsEmpty(Cells(j, i)) Then
MsgBox ("Mitarbeiter " & Cells(j, 2).Value & " ist heute nicht da")
End If
Next j
End Sub




Private Sub Workbook_Open()
tabelleauswahl
Urlaub
End Sub


Bild

Betrifft: Nachtrag
von: Dirk
Geschrieben am: 15.10.2003 11:28:06
Sorry.

Du musst hab zweimal das "wk" vergessen:

If Not IsEmpty(wk.Cells(j, i)) Then

MsgBox ("Mitarbeiter " & wk.Cells(j, 2).Value & " ist heute nicht da")

einfach noch einfügen. Das ist zur Auswahl des richtigen Tabellenblatts notwendig.

Cheers
Bild

Betrifft: AW: Danke
von: Ulf
Geschrieben am: 15.10.2003 12:01:13
Danke Dirk hat hingehauen.

Ulf
Bild

Betrifft: Danke für die Rückmeldung
von: Dirk
Geschrieben am: 15.10.2003 12:02:22
.
 Bild