Hallo zusammen
Ich hab ein kleines Excel Problem:
Ich habe eine kleine Tabelle, in welcher in Spalte A jeweils das Geburtsdatum steht und in Spalte B der Name.
Nun soll in einem anderen Tabellenblatt stehen:
Heute hat Geburtstag:
Xxx
Xxx
Xxx
Morgen hat Geburtstag:
Xxx
Xxx
Xxx
Wie schaffe ich es, dass dies funktioniert?
Hallo,
versuche es mit dem Autofilter.
Geht nicht weil es auf einem anderen Datenblatt angezeigt werden soll...
Hallo,
es wäre sicher sinnvoller, wenn das über eine MsgBox, beim Öffnen der Datei angezeigt würde.
Hi,
so?
Arbeitsblatt mit dem Namen 'Tabelle2' |
| B | C |
3 | Heute hat Geburtstag: | Michel |
4 | Morgen hat Geburtstag: | Tom |
Zelle | Formel |
C3 | =SVERWEIS(HEUTE();Tabelle1!$A$2:$B$4;2;0) |
C4 | =SVERWEIS(HEUTE()+1;Tabelle1!$A$2:$B$4;2;0) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2013 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Here is the VBA Module code that you can run and achieve the same thing
Code:
Option Explicit
Sub geburtstag()
Dim enderow As Long, i As Long, zeile As Long, myDate As Date, strName As String, tag As Date, morgen As Date, zeile2 As Long
zeile = 1
zeile2 = 1
enderow = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
morgen = Day(Date + 1)
For i = 2 To enderow
tag = Day(Sheets(1).Cells(i, 1).value)
If tag = Day(Date) Then
If Month(Sheets(1).Cells(i, 1).value) = Month(Date) Then
zeile = zeile + 1
Sheets(2).Cells(1, 1).value = "Geburtsdatum"
Sheets(2).Cells(1, 2).value = "Name"
myDate = Sheets(1).Cells(i, 1).value
strName = Sheets(1).Cells(i, 2).value
Sheets(2).Cells(zeile, 1).value = myDate
Sheets(2).Cells(zeile, 2).value = strName
End If
End If
If tag = morgen Then
If Month(Sheets(1).Cells(i, 1).value) = Month(Date) Then
zeile2 = zeile2 + 1
Sheets(2).Cells(1, 3).value = "Geburtsdatum"
Sheets(2).Cells(1, 4).value = "Name"
myDate = Sheets(1).Cells(i, 1).value
strName = Sheets(1).Cells(i, 2).value
Sheets(2).Cells(zeile2, 3).value = myDate
Sheets(2).Cells(zeile2, 4).value = strName
End If
End If
Next
End Sub
[
attachment=14861]
Hi Ralf,
wenn mehrere Personen am selben Tag Geburtstag haben, geht es mit einem Verweis aber nicht mehr. Daher mein Vorschlag:
Arbeitsblatt mit dem Namen 'Tabelle4' |
| A | B | D | E | F | G | H | I |
1 | Name | Geburtstag | Alter | HS1 | HS2 | | Heute haben Geburtstag: | Morgen haben Geburtstag: |
2 | Hans Meier | 06.12.1964 | 53 Jahre | 2 | | | Hans Meier | Lotte Geier |
3 | Christine Huber | 29.06.1982 | 35 Jahre | | | | Gerd Schultze | |
4 | Sonja Möller | 13.07.1970 | 47 Jahre | | | | | |
5 | Herbert Schmitt | 13.07.1961 | 56 Jahre | | | | | |
6 | Monika Müller | 04.08.1975 | 42 Jahre | | | | | |
7 | Gerd Schultze | 06.12.1959 | 58 Jahre | 7 | | | | |
8 | Lotte Geier | 07.12.1963 | 53 Jahre | | 8 | | | |
Zelle | Formel |
D2 | =WENN(DATUM(JAHR(HEUTE());MONAT(B2); TAG(B2))<=HEUTE(); JAHR(HEUTE())-JAHR(B2);JAHR(HEUTE())-JAHR(B2)-1) |
E2 | =WENN(DATUM(;MONAT(B2);TAG(B2))=DATUM(;MONAT(HEUTE());TAG(HEUTE()));ZEILE();"") |
F2 | =WENN(DATUM(;MONAT(B2);TAG(B2))=DATUM(;MONAT(HEUTE());TAG(HEUTE()+1));ZEILE();"") |
H2 | =WENNFEHLER(INDEX($A$1:$A$8;KKLEINSTE($E$1:$E$8;ZEILE(A1)));"") |
I2 | =WENNFEHLER(INDEX($A$1:$A$8;KKLEINSTE($F1:$F$8;ZEILE(A1)));"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT :.00] MS Excel 2013 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Die beiden farbig markierten Hilfsspalten einfach ausblenden, dann stören sie nicht mehr.