Registriert seit: 06.12.2017
Version(en): Office 2010
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?
Registriert seit: 03.12.2017
Version(en): 365
Hallo,
versuche es mit dem Autofilter.
Hoffe geholfen zu haben
Hubert
Registriert seit: 06.12.2017
Version(en): Office 2010
Geht nicht weil es auf einem anderen Datenblatt angezeigt werden soll...
Registriert seit: 03.12.2017
Version(en): 365
Hallo,
es wäre sicher sinnvoller, wenn das über eine MsgBox, beim Öffnen der Datei angezeigt würde.
Hoffe geholfen zu haben
Hubert
Registriert seit: 10.04.2014
Version(en): 2016 + 365
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 |
Registriert seit: 06.12.2017
Version(en): 2016
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
geburtstag.xlsm (Größe: 88,49 KB / Downloads: 1)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)