Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Msgbox Geburtstag

Msgbox Geburtstag
26.06.2015 21:29:15
sabrina
Hallo ich bin's mal wieder :)
Möchte gerne einen Code schreiben weiß aber wieder einmal nicht wie.
Ich brauche eine Messagebox die mir gleich nach dem Anmelden in meiner Arbeitsmappe anzeigt wer heute Geburtstag hat.
Die Geburtstage sind im Blatt Privatkunden hinterlegt von O2 beginnend und sollte sich immer um eine Zeile erweitern wenn ein neuer Kunde dazukommt. Die Vornamen stehen ab Zeile C2 und die Nachnamen ab D2.
Bitte um Hilfe.
Lg Sabrina

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Msgbox Geburtstag
26.06.2015 22:03:59
Jack_D
Hallo Sabrina
Das mit der mustermappe weißt du ja schon.
Ansonsten. :
1. Datum heute ist in VBA - Date
2. Schleife über die Daten (pl. Datum) und Namen bei Geburtstag =Tag in ein Array
3. Array über msgbox ausgeben
Grüße

AW: Msgbox Geburtstag
26.06.2015 22:08:10
sabrina
Hallo!
Ja danke aber leider hilft mir das auch nicht viel weiter weil ich keinen fehlerlosen Code schreiben kann der funktioniert :(
Was ist ein Array?
Liebe Grüße

AW: Msgbox Geburtstag
26.06.2015 22:17:40
Luschi
Hallo Sabrina,
Du solltest doch in der Lage sein, eine Tabelle mit ein paar Namen und dem Geburtsdatum zu erstellen und hier bereitzustellen. Ich habe es einfach satt, auch diese minimale Aufforderung noch selbst zu übernehmen; aber das scheint ja in den Excel-Foren nun Standard zu werden!
Da Du ja Excel 2010 hast, hoffe ich, daß die Formatvorlage 'als Tabelle formatieren' nicht links/rechts an Dir vorbeigegangen ist. Dieses Objekt wächst automatisch mit dem Erweitern der Daten nach unten & rechts.
Gruß von Luschi
aus klein-Paris

Anzeige
Recht hatter
26.06.2015 22:26:26
JACK_D
der Luschi... nabend auch in deiner Richtung =)
Ansonsten hier mal ein Ansatz. Du erhältst jetzt jedes mal eine msgbox wenn jemand (heute) Geburtstag hat. (ich bin jetzt mal stumpf davon ausgegangen das das Geburtsjahr mit drin steht und die Zelle ein Datum ist)
Option Explicit
Sub geburtstage()
Dim DHeute As Date
Dim lngLZeile As Long, i As Long
DHeute = Date
With Worksheets("Privatkunden")
lngLZeile = .Cells(Rows.Count, 3).End(xlUp).Row
For i = 2 To lngLZeile
If Day(.Cells(i, 15)) = Day(DHeute) And Month(.Cells(i, 15)) = Month(DHeute) Then
MsgBox "Kunde: " & .Cells(i, 3) & " " & .Cells(i, 4) & " hat heute Geburtstag"
End If
Next i
End With
End Sub
Grüße

Anzeige
AW: Msgbox Geburtstag
26.06.2015 22:28:17
sabrina
Hallo Luschi,
tut mir leid, ich schreibe das erste Mal in einem Forum deshalb wusste ich noch nicht, dass man das normalerweise so macht und ich verstand zuerst auch nicht was mit Beispielmappe gemeint ist, da ja meine ursprüngliche Mappe zu groß war.
Ich meine aber dass auch neu zur Tabelle hinzugefügte Kunden in dem Code berücksichtigt werden und dass nicht nur steht von z.B. O1 bis O17 sondern dass das Programm selbst weiß wie viele Zeilen Daten enthalten.
Lg und schönen Abend
P.s. hier meine Beispieltabelle https://www.herber.de/bbs/user/98517.xlsm

Anzeige
Es mag
26.06.2015 22:32:29
JACK_D
akademisch und penibel erscheinen liebe Sabrina, aber du redest im Text immer davon das die Geburtstage in Spalte O sind,
in deiner Mappe jedoch sind die Daten auf Spalte C
Hajo wäre an der Stelle jetzt raus..
Schau dir einfach mal meinen Code an und sag ob dir damit zurecht kommst. Er berücksichtigt auch wenn im Nachgang Kunden hinzugefügt werden.
Grüße

AW: Es mag
26.06.2015 22:35:56
sabrina
Hallo!
Ja in meiner ursprünglichen Mappe sind sie in Spalte O nur in der Beispielmappe sind sie in Spalte C :)
Vielen lieben Dank für deinen Code wenn du mir nur noch sagst wo genau ich ihn einfügen muss damit die msgbox nach dem Login erscheint :)
Wie du siehst kenne ich mich nicht wirklich aus. Hatte insgesamt nur 2 Vorlesungen zu VBA und muss jetzt so ein Programms schreiben :(
Liebe Grüße

Anzeige
AW: Es mag
26.06.2015 22:39:24
JACK_D
Hallo
ja wir haben alle mal klein Angefangen.
Sepp hat grad einen Code gepostet. Nimm diesen. der ist ausgefeilter, da er alle Geburtstage in einer MSGBOX ausgibt, Und schon die richtige Syntax hat (Workbook open)
Das kommt dann in "Diese Arbeitsmappe" und schon hast du eine Lösung =)
Grüße

AW: Es mag
26.06.2015 22:44:00
sabrina
Hallo :)
Ich werd' darin aber glaub ich nie groß werden :D
Okay sein Code funktioniert nur leider noch nicht.
Lg

AW: da ich auch gerade dabei war, hier mein Bsp.
26.06.2015 22:52:29
sabrina
Hallo
Danke Matthias!
Super Beispiel´
Lg

AW: Es mag
26.06.2015 22:46:11
Jack_D
Das ist dann das Problem zwischen Beschreibung und mustermappe.
Was bringt denn der debugger?
Hast mal die einzelnen Werte geprüft?

funktioniert doch
26.06.2015 22:54:11
Matthias
Hallo
Userbild
Gruß Matthias

AW: funktioniert doch
26.06.2015 22:59:45
sabrina
Hallo Matthias!
Ja in deinem Beispiel funktioniert es aber in meinem leider nicht :(
Lg

da stehen die Daten ja in anderen Spalten! owT
26.06.2015 23:01:35
Matthias

AW: da stehen die Daten ja in anderen Spalten! owT
26.06.2015 23:08:21
sabrina
Das weiß ich schon, aber auch wenn ichs auf meine Spalten umändere tut sich nichts
lg

Anzeige
Und was passiert?
26.06.2015 23:09:40
JACK_D
Bei mir funktionieren alle Codes..
Grüße

AW: Und was passiert?
26.06.2015 23:17:01
sabrina
Ich versteh' auch nicht woran bei mir der Fehler liegt :(
Liebe Grüße

AW: da stehen die Daten ja in anderen Spalten! owT
26.06.2015 23:15:13
Matthias
Hallo
Da weiß ja keiner ob Du das richtig machst
Dann zeig die Datei in der es mit Sepp seinem Code (den Du angepasst hast) nicht geht.
Josef Ehrensberger(SEPP) ist Profi. Er weiß was er schreibt und es funktioniert!
Der Fehler liegt garantiert nicht an seinem Code!
Gruß Matthias

AW: da stehen die Daten ja in anderen Spalten! owT
26.06.2015 23:19:53
sabrina
Hallo :)
Nein ich habe ja nicht gemeint dass sein Code falsch ist - mir ist schon klar dass ich irgendwo einen Fehler mache, aber ich mach alles so wie ihr es mir ansagt und trotzdem funktioniert es nicht.
Ich würde dir die Datei gerne zeigen aber leider hat sie 10MB :(
Liebe Grüße Sabrina

Anzeige
vielleicht hat heute keiner Gerburtstag! o.T.
26.06.2015 23:25:59
Sepp
Gruß Sepp

AW: vielleicht hat heute keiner Gerburtstag! o.T.
26.06.2015 23:29:47
sabrina
Hallo!
Das war das Problem :D Habe jetzt einen neuen Kunden hinzugefügt der heute Geburtstag hat & ES FUNKTIONIERT :))
Danke!
Liebe Grüße
Sabrina

;,-D
26.06.2015 23:33:23
JACK_D
An so ein triviales Problem muss man erstmal denken *rofl
Sehr gut sepp
Grüße

AW: ;,-D
26.06.2015 23:41:54
sabrina
haha ja das stimmt
Liebe Grüße

AW: da stehen die Daten ja in anderen Spalten! owT
26.06.2015 23:30:17
Matthias
Hallo
Dann musst Du eben nochmal neu erklären wenn Du Sepp sein Bsp bei Dir auch zum Laufen bringen willst, Sabrina

  • Wo stehen die Namen

  • Wo stehen die Vormnamen

  • Wo steht der Geburtstag


Gruß Matthias

Anzeige
AW: da stehen die Daten ja in anderen Spalten! owT
26.06.2015 23:32:53
sabrina
Hallo Matthias!
Das Problem ist schon gelöst - es hat schon funktioniert nur heute hat niemand von den Kunden Geburtstag - deshalb wurde keine msgbox angezeigt!
Danke für deine Hilfe
Liebe Grüße
Sabrina

habs schon gelesen ;-) alles gut! owT
26.06.2015 23:34:27
Matthias

AW: Es mag
26.06.2015 22:58:35
sabrina
Hallo!
Ja habe ich schon.
Debugger bringt gar nichts.
lg

AW: Msgbox Geburtstag
26.06.2015 22:34:41
Sepp
Hallo Sabrina,
in das Modul "DieseArbeitsmappe".
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  Dim rng As Range
  Dim strMsg As String
  
  On Error Resume Next
  
  With Sheets("Privatkunden")
    For Each rng In .Range("O2:O" & Application.Max(2, .Cells(.Rows.Count, 15).End(xlUp).Row))
      If DateSerial(Year(Date), Month(rng), Day(rng)) = Date Then
        strMsg = strMsg & Left(.Cells(rng.Row, 3).Text & " " & .Cells(rng.Row, 4).Text & String(35, " "), 35) & vbTab & "(" & Year(Date) - Year(rng) & ")" & vbLf
      End If
    Next
  End With
  
  If Len(strMsg) Then
    strMsg = "Geburtstage am " & Format(Date, "dddd, dd.MM.yyyy") & vbLf & vbLf & strMsg
    MsgBox strMsg
  End If
  
  On Error GoTo 0
End Sub


Gruß Sepp

Anzeige
AW: Msgbox Geburtstag
26.06.2015 22:39:42
sabrina
Hallo und danke Sepp!
Hab's versucht - tut sich aber leider nichts - kommt zwar keine Fehlermeldung aber funktionieren tut es auch nicht.
lg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige