Hallo zusammen,
nach einigem Googlen bin ich leider immer noch auf keine Lösung gestoßen, die ich verstehe..
Ich möchte gerne, dass anhand der Geburtstage die in Spalte K meiner Tabelle stehen, jedes Mal beim Öffnen meiner Datei eine MsgBox erscheint & mir sagt, wer an diesem tag Geburtstag hat.
Wie müsste so ein Code aussehen?
Lieben Dank vorab
SteBen
Moin SteBen,
muss es zwingend VBA sein?
Mein Formelvorschlag:
Arbeitsblatt mit dem Namen 'Daten' |
| A | B | C | D | E |
1 | Vor- und Zuname | Geboren | HS TT.MM | aktuelles Alter in Jahren | Jubiläen |
2 | Claire Grube | 13.01.65 | 13.Jan | 55 | 55 |
3 | Anna Nass | 27.04.68 | 27.Apr | 51 | |
4 | Heide Witzka | 08.05.70 | 08.Mai | 49 | 50 |
5 | Rainer Zufall | 12.02.63 | 12.Feb | 57 | |
6 | Ali Mente | 24.07.64 | 24.Jul | 55 | |
7 | Marion Etten | 30.07.97 | 30.Jul | 22 | |
8 | Roman Tiker | 01.09.61 | 01.Sep | 58 | |
9 | Mario Nette | 22.10.58 | 22.Okt | 61 | |
10 | Mary Huana | 12.02.92 | 12.Feb | 28 | |
11 | Peter Silie | 18.12.95 | 18.Dez | 24 | |
Zelle | Formel |
C2 | =DATUM(;MONAT(B2);TAG(B2)) |
D2 | =WENN(B2<>"";WENN(DATUM(JAHR(HEUTE());MONAT(B2);TAG(B2))<=HEUTE();JAHR(HEUTE())-JAHR(B2);JAHR(HEUTE())-JAHR(B2)-1);"") |
E2 | =WENN((REST(JAHR(HEUTE())-JAHR(B2);5)=0)*((JAHR(HEUTE())-JAHR(B2))>49);JAHR(HEUTE())-JAHR(B2);"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Hilfsspalte C ausblenden.
Blatt 2 gibt die Meldung aus:
Arbeitsblatt mit dem Namen 'Tabelle3' |
| A |
1 | Heutige Geburtstage |
2 | |
3 | Rainer Zufall |
4 | Mary Huana |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Name | Bezug |
Daten | =Tabelle1[#Alle] |
Zelle | Formel |
A3 | =WENNFEHLER(INDEX(Daten!A:A;AGGREGAT(15;6;ZEILE(Daten!$C$2:$C$11)/(Daten!$C$2:$C$11=DATUM(;MONAT(HEUTE());TAG(HEUTE())));ZEILE(Daten!A1)));"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Das Blatt kann ansprechend formatiert werden: [
attachment=29686]
Hi Günther,
Danke für Deinen Vorschlag, aber VBA wäre für mich sinnvoller.
Hintergrund ist, dass die Datei mehrere Blätter enthält, man aber das Blatt mit den Stammdaten nur öffnet, wenn man einen neuen Kunden anlegt.
I.d.R. wird dann nur mit einem anderen Blatt gearbeitet, weshlab die MsgBox bei Öffnen der Datei praktischer wäre :)
Danke & Grüße
Servus,
cool, Danke, genau das wollte ich.
Kannst Du mir noch damit helfen, den jeweiligen Vornamen aus Spalte C & den Nachnamen aus Spalte D in die MsgBox zu kriegen?
Hallo, :19:
das "
Offset" geht von Spalte K aus: :21:
Code:
strTMP = strTMP & rngZelle.Offset(, -8).Value & " " & rngZelle.Offset(, -7).Value & vbCrLf
Hi,
Sorry, aber was muss ich jetzt ändern?
Ich habe den Code in "Diese Arbeitsmappe" geschrieben. Die Kundendaten stehen aber im Reiter "Kundendatenbank".
Was mach' ich falsch?
Hallo, :19:
hier wird mit dem Codenamen der Tabelle gearbeitet (der Name VOR der Klammer). Das ist bei dir "Tabelle5". Also Tabelle1 durch Tabell5 ersetzten und die Codezeile mit dem "Offset" anpassen. :21:
Hi,
klasse, jetzt hab ich's geschnallt :D
Danke für die Hilfe!