Herbers Excel-Forum - das Archiv
Suchfunktion per Vba
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
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
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
Betrifft: AW: Danke
von: Ulf
Geschrieben am: 15.10.2003 12:01:13
Danke Dirk hat hingehauen.
Ulf
Betrifft: Danke für die Rückmeldung
von: Dirk
Geschrieben am: 15.10.2003 12:02:22
.