Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wer hat als nächster Geburstag

Wer hat als nächster Geburstag
29.09.2004 09:11:52
Petra
Hallo Excelfreunde,
ich habe in meiner Adressendatei auch die Geburstage der Personen gespeichert.
Nun möchte ich mir eine Schaltfläche anlegen die dann bei Betätigung mir die nächsten Geburstage der nächsten 10 Tage anzeigt.
Ich stelle mir das so vor das ich eine UF erstelle die nach dem klick auf die Schaltfläche erscheint und mir das gewünschte anzeigt.
Oder gibt es vieleicht ander Lösungen. Das Erstellen einer UF ist kein Probl.
für mich , nur mit dem VBA hapert es gewaltig.
Die Daten befinden sich in der Tabelle ( Adressen M5:M65 )
Ich hoffe das mir hier jemand helfen kann.
MfG Petra

31
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wer hat als nächster Geburstag
29.09.2004 09:20:02
Matthias
Hallo Patra,
eine einfache, nur nicht so komfortable Lösung ohne VBA:
erstelle eine Hilfsspalte mit der Formel:
=MONAT(M5)*31+TAG(M5) und dann runterkopieren.
Wenn Du die Tabelle nach der Hilfsspalte sortierst, kannst du dann die Geburtstage in der Reihenfolge des Jahres ansehen.
Gruß Matthias
AW: Wer hat als nächster Geburstag
29.09.2004 09:27:49
Petra
Hallo Matthias, danke erst mal für deine Antwort. In meiner Datei werden die Daten per UF und eingegeben und auch per UF ausgegeben,die Tabelle ( Adressen ist ausgeblendet )bei deiner Lösung müsste ich Sie allerdings immer wieder einblenden.
MfG Petra
noch offen - o.T.
29.09.2004 09:32:36
Matthias
-
AW: Wer hat als nächster Geburstag
29.09.2004 09:32:41
eres
Hallo Petra, habe mir so was ähnliches gebastelt.
https://www.herber.de/bbs/user/11431.xls
Die Datei wird bei mir über das Workbook_open Ereignis der Personl.XLS automatisch gestartet und zeigt mir jeweils an, wer bald Geburtstag hat, bzw. wo ich vergessen habe, zu gratulieren.
In Zelle B1 wird die Vorlaufzeit des Geburtstages eingestellt.
Bei mir schliesst die Datei sich wieder automatisch, nachdem das Makro durchgelaufen ist. Habe diesen Part im Workbook_open Ereignis ausgesternt, damit Du das Beispiel besser testen kannst.
Gruss
eres
Anzeige
AW: Wer hat als nächster Geburtstag
29.09.2004 09:48:08
Paul
Hi eres , Danke Dir recht herzlich für deine Hilfe ein super Beispiel.
Wünsche Dir noch einen schönen Tag.
MfG Petra
AW: nicht schlagbar - oder doch?
FP
Hi WF,
schau Dir mal das an:
Tabelle4
 ABCDE
112.07.1973Name1der nächste Geburtstag ist am: 12.10.2004 
212.10.1913Name2wieviele Tage sind es bis da hin: 12 
301.06.1970Name3   
405.08.1941Name4an diesem Tag wurden geboren: 2 
522.09.1989Name5Wer hat dann Geburtstag: Geburtstagskindgeboren
626.08.1963Name6 Name2112.10.1966
704.07.1992Name7 Name212.10.1913
821.08.1987Name8   
909.12.1909Name9   
1015.02.1926Name10   
1125.01.1918Name11   
1203.09.1970Name12   
1321.01.1963Name13   
1423.05.1912Name14   
1516.07.1927Name15   
1622.07.1971Name16   
1727.07.1937Name17   
1822.05.1953Name18   
1911.12.1970Name19   
2010.12.2001Name20   
2112.10.1966Name21   
2229.12.1939Name22   
2313.10.1969Name23   
2429.05.1988Name24   
2529.08.1925Name25   
2615.01.1969Name26   
2731.03.1937Name27   
2804.07.1918Name28   
2918.01.1922Name29   
3018.02.1976Name30   
Formeln der Tabelle
D1 : {=HEUTE()+MIN(DATUM(JAHR(HEUTE())+(TEXT(A1:A100;"MMTT")<TEXT(HEUTE();"MMTT"));MONAT(A1:A100);TAG(A1:A100))-HEUTE())}
D2 : =D1-HEUTE()
D4 : {=SUMME(N(TEXT(A1:A100;"TTMM")=TEXT(D1;"TTMM")))}
D6 : {=WENN(ZEILEN($1:1)>D$4;"";INDEX(B$1:B$100;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(D$1;"TTMM"))*ZEILE($1:$100);ZEILEN($1:1))))}
E6 : =INDEX(A:A;VERGLEICH(D6;B:B;0))
D7 : {=WENN(ZEILEN($1:2)>D$4;"";INDEX(B$1:B$100;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(D$1;"TTMM"))*ZEILE($1:$100);ZEILEN($1:2))))}
E7 : =INDEX(A:A;VERGLEICH(D7;B:B;0))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Wäre doch was für Deine Formelsammlung - oder nicht?
Servus aus dem Salzkammergut
Franz
Anzeige
AW: 2 Varianten
FP
Hi Walter,
habe noch etwas verkürzt und biete noch eine 2. Variante :-)
Tabelle4
 ABCDE
112.07.1973Name1der nächste Geburtstag ist am: 12.10.2004 
212.10.1913Name2wieviele Tage sind es bis da hin: 12 
301.06.1970Name3   
405.08.1941Name4an diesem Tag wurden geboren: 2 
522.09.1989Name5Wer hat dann Geburtstag: Geburtstagskindgeboren
626.08.1963Name6 Name2112.10.1966
704.07.1992Name7 Name212.10.1913
821.08.1987Name8   
909.12.1909Name9Variante 2 - suche Geburtsdatum und danach den Namen  
1015.02.1926Name10 Name2112.10.1966
1125.01.1918Name11 Name212.10.1913
1203.09.1970Name12   
1321.01.1963Name13   
1423.05.1912Name14   
1516.07.1927Name15   
1622.07.1971Name16   
1727.07.1937Name17   
1822.05.1953Name18   
1911.12.1970Name19   
2010.12.2001Name20   
2112.10.1966Name21   
2229.12.1939Name22   
2313.10.1969Name23   
2429.05.1988Name24   
2529.08.1925Name25   
2615.01.1969Name26   
2731.03.1937Name27   
2804.07.1918Name28   
2918.01.1922Name29   
3018.02.1976Name30   
Formeln der Tabelle
D1 : {=HEUTE()+MIN(DATUM(JAHR(HEUTE())+(TEXT(A1:A100;"MMTT")<TEXT(HEUTE();"MMTT"));MONAT(A1:A100);TAG(A1:A100))-HEUTE())}
D2 : =D1-HEUTE()
D4 : {=SUMME(N(TEXT(A1:A100;"TTMM")=TEXT(D1;"TTMM")))}
D6 : {=WENN(ZEILE(A1)>D$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(D$1;"TTMM"))*ZEILE($1:$100);ZEILE(A1))))}
E6 : =WENN(D6="";"";INDEX(A:A;VERGLEICH(D6;B:B;0)))
D7 : {=WENN(ZEILE(A2)>D$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(D$1;"TTMM"))*ZEILE($1:$100);ZEILE(A2))))}
E7 : =WENN(D7="";"";INDEX(A:A;VERGLEICH(D7;B:B;0)))
D8 : {=WENN(ZEILEN($1:3)>D$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(D$1;"TTMM"))*ZEILE($1:$100);ZEILE(A3))))}
E8 : =WENN(D8="";"";INDEX(A:A;VERGLEICH(D8;B:B;0)))
D10 : =WENN(E10="";"";SVERWEIS(E10;A:B;2;0))
E10 : {=WENN(ZEILE(A1)>D$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(D$1;"T.M"))*ZEILE($1:$100);ZEILE(A1))))}
D11 : =WENN(E11="";"";SVERWEIS(E11;A:B;2;0))
E11 : {=WENN(ZEILE(A2)>D$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(D$1;"T.M"))*ZEILE($1:$100);ZEILE(A2))))}
D12 : =WENN(E12="";"";SVERWEIS(E12;A:B;2;0))
E12 : {=WENN(ZEILE(A3)>D$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(D$1;"T.M"))*ZEILE($1:$100);ZEILE(A3))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: 2 Varianten
Josef
Hallo Franz
Deine Formel in D1 solltest du in MIN(WENN.... ändern,wenn im Bereich auch Leerzellen vorkommen, sonst stimmt manchmal das Ergebniss nicht.
Gruss Sepp
AW: Danke für den Hinweis und ...
FP
Hi Sepp,
... hier noch die (vorläufige) Endversion. Der Fehler trat auf, wenn nach dem Tagesdatum im selben Jahr niemand mehr Geburtstag hatte...
Geburtstag
 ABCDEF
112.07.1973Name1 der nächste Geburtstag ist am: 12.10.2004 
212.10.1913Name2 wieviele Tage sind es bis da hin: 10 
301.06.1970Name3    
405.08.1941Name4 an diesem Tag wurden geboren: 2 
522.09.1989Name5 Wer hat dann Geburtstag: Geburtstagskindgeboren
626.08.1963Name6  Name2112.10.1966
704.07.1992Name7  Name212.10.1913
821.08.1987Name8    
909.12.1909Name9 Variante 2 - suche Geburtsdatum und danach den Namen  
1015.02.1926Name10  Name2112.10.1966
1125.01.1918Name11  Name212.10.1913
1203.09.1970Name12    
1321.01.1963Name13    
1423.05.1912Name14    
1516.07.1927Name15    
1622.07.1971Name16    
1727.07.1937Name17    
1822.05.1953Name18    
1911.12.1970Name19    
2010.12.2001Name20    
2112.10.1966Name21    
2229.12.1939Name22    
2313.10.1969Name23    
2429.05.1988Name24    
2529.08.1925Name25    
2615.01.1969Name26    
2731.03.1937Name27    
2804.07.1918Name28    
2918.01.1922Name29    
3018.02.1976Name30    
Formeln der Tabelle
E1 : {=HEUTE()+MIN(WENN(A1:A100<>"";DATUM(2004+(TEXT(A1:A100;"MMTT")<TEXT("02.10.2004";"MMTT"));MONAT(A1:A100);TAG(A1:A100))-"02.10.2004"))}
E2 : =E1-HEUTE()
E4 : {=SUMME(N(TEXT(A1:A100;"TTMM")=TEXT(E1;"TTMM")))}
E6 : {=WENN(ZEILE(A1)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A1))))}
F6 : =WENN(E6="";"";INDEX(A:A;VERGLEICH(E6;B:B;0)))
E7 : {=WENN(ZEILE(A2)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A2))))}
F7 : =WENN(E7="";"";INDEX(A:A;VERGLEICH(E7;B:B;0)))
E8 : {=WENN(ZEILEN($1:3)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A3))))}
F8 : =WENN(E8="";"";INDEX(A:A;VERGLEICH(E8;B:B;0)))
E10 : =WENN(F10="";"";SVERWEIS(F10;A:B;2;0))
F10 : {=WENN(ZEILE(A1)>E$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(E$1;"T.M"))*ZEILE($1:$100);ZEILE(A1))))}
E11 : =WENN(F11="";"";SVERWEIS(F11;A:B;2;0))
F11 : {=WENN(ZEILE(A2)>E$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(E$1;"T.M"))*ZEILE($1:$100);ZEILE(A2))))}
E12 : =WENN(F12="";"";SVERWEIS(F12;A:B;2;0))
F12 : {=WENN(ZEILE(A3)>E$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(E$1;"T.M"))*ZEILE($1:$100);ZEILE(A3))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Danke für den Hinweis und ...
Josef
Hallo Franz
Wieso Heute() und wieder minus Heute() oder "02.10.2004"?
Ich habe letztes Jahr genau diese Formel, aber ohne diese Zusätze erstellt und intensiv getestet, ohne einen Fehler zu finden.
Gruss Sepp
O T Ich habe mir die Spielere angesehen, mal sehen ob mir dazu auch was einfällt.
noch was vergessen ,<>"" kannst du weglassen o.T.
Josef
ohne Text
AW: eben nicht - sieh selbst...
FP
Hi Sepp,
falsche Lösung 31.12.2004 - Grund: kein Geburtsdatum nach dem Tagesdatum im selben Jahr
Geburtstag
 ABCDEF
112.07.1973Name1 der nächste Geburtstag ist am: 31.12.2004 
2 Name2 wieviele Tage sind es bis da hin: 89 
301.06.1970Name3    
405.08.1941Name4 an diesem Tag wurden geboren: 0 
522.09.1989Name5 Wer hat dann Geburtstag: Geburtstagskindgeboren
626.08.1963Name6    
704.07.1992Name7    
821.08.1987Name8    
9 Name9 Variante 2 - suche Geburtsdatum und danach den Namen  
1015.02.1926Name10    
1125.01.1918Name11    
1203.09.1970Name12    
1321.01.1963Name13    
1423.05.1912Name14    
1516.07.1927Name15    
1622.07.1971Name16    
1727.07.1937Name17    
1822.05.1953Name18    
19 Name19    
20 Name20    
21 Name21    
22 Name22    
23 Name23    
2429.05.1988Name24    
2529.08.1925Name25    
2615.01.1969Name26    
2731.03.1937Name27    
2804.07.1918Name28    
2918.01.1922Name29    
3018.02.1976Name30    
Formeln der Tabelle
E1 : {=MIN(DATUM(JAHR(HEUTE())+(TEXT(A1:A100;"MMTT")<TEXT(HEUTE();"MMTT"));MONAT(A1:A100);TAG(A1:A100)))}
E2 : =E1-HEUTE()
E4 : {=SUMME(N(TEXT(A1:A100;"TTMM")=TEXT(E1;"TTMM")))}
E6 : {=WENN(ZEILE(A1)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A1))))}
F6 : =WENN(E6="";"";INDEX(A:A;VERGLEICH(E6;B:B;0)))
E7 : {=WENN(ZEILE(A2)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A2))))}
F7 : =WENN(E7="";"";INDEX(A:A;VERGLEICH(E7;B:B;0)))
E8 : {=WENN(ZEILEN($1:3)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A3))))}
F8 : =WENN(E8="";"";INDEX(A:A;VERGLEICH(E8;B:B;0)))
E10 : =WENN(F10="";"";SVERWEIS(F10;A:B;2;0))
F10 : {=WENN(ZEILE(A1)>E$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(E$1;"T.M"))*ZEILE($1:$100);ZEILE(A1))))}
E11 : =WENN(F11="";"";SVERWEIS(F11;A:B;2;0))
F11 : {=WENN(ZEILE(A2)>E$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(E$1;"T.M"))*ZEILE($1:$100);ZEILE(A2))))}
E12 : =WENN(F12="";"";SVERWEIS(F12;A:B;2;0))
F12 : {=WENN(ZEILE(A3)>E$4;"";INDEX(A:A;KGRÖSSTE((TEXT(A$1:A$100;"T.M")=TEXT(E$1;"T.M"))*ZEILE($1:$100);ZEILE(A3))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
so ist es auch dann richtig:
Geburtstag
 ABCDE
112.07.1973Name1 der nächste Geburtstag ist am: 15.01.2005
2 Name2 wieviele Tage sind es bis da hin: 104
301.06.1970Name3   
405.08.1941Name4 an diesem Tag wurden geboren: 1
522.09.1989Name5 Wer hat dann Geburtstag: Geburtstagskind
626.08.1963Name6  Name26
704.07.1992Name7   
821.08.1987Name8   
9 Name9 Variante 2 - suche Geburtsdatum und danach den Namen 
1015.02.1926Name10  Name26
1125.01.1918Name11   
1203.09.1970Name12   
1321.01.1963Name13   
1423.05.1912Name14   
1516.07.1927Name15   
1622.07.1971Name16   
1727.07.1937Name17   
1822.05.1953Name18   
19 Name19   
20 Name20   
21 Name21   
22 Name22   
23 Name23   
2429.05.1988Name24   
2529.08.1925Name25   
2615.01.1969Name26   
2731.03.1937Name27   
2804.07.1918Name28   
2918.01.1922Name29   
3018.02.1976Name30   
Formeln der Tabelle
E1 : {=MIN(WENN(A1:A100<>"";DATUM(JAHR(HEUTE())+(TEXT(A1:A100;"MMTT")<TEXT(HEUTE();"MMTT"));MONAT(A1:A100);TAG(A1:A100))))}
E2 : =E1-HEUTE()
E4 : {=SUMME(N(TEXT(A1:A100;"TTMM")=TEXT(E1;"TTMM")))}
E6 : {=WENN(ZEILE(A1)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A1))))}
E7 : {=WENN(ZEILE(A2)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A2))))}
E8 : {=WENN(ZEILEN($1:3)>E$4;"";INDEX(B:B;KGRÖSSTE((TEXT(A$1:A$100;"TTMM")=TEXT(E$1;"TTMM"))*ZEILE($1:$100);ZEILE(A3))))}
E10 : =WENN(F10="";"";SVERWEIS(F10;A:B;2;0))
E11 : =WENN(F11="";"";SVERWEIS(F11;A:B;2;0))
E12 : =WENN(F12="";"";SVERWEIS(F12;A:B;2;0))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
-"02.10.2004" hab ich vorher leider nach dem Test stehen lassen und nicht mehr nach -HEUTE() zurückgeändert :-(
Aber der Tipp mit HEUTE()+...-HEUTE() war wirklich gut, funktioniert auch so!
Servus aus dem Salzkammergut
Franz
Anzeige
AW: eben nicht - sieh selbst...
Josef
Hallo Franz
Du hast mich falsch verstanden, ich schrieb doch schon "ohne WENN kanns Fehler geben".
Einfach nur WENN(A1:A100;dann..
Gruss Josef
AW: Wer hat als nächster Geburstag
29.09.2004 09:43:35
Ralf
Hallo Petra,
füge den Code ins Workbook_Open ein. Oder starte ihn per Schaltfläche.
Damit nicht nur das Datum, sondern auch der Name angezeigt wird,
muß die MsgBox mit "Offset" um den Zellbereich mit den Namen erweitert werden.
Dim Bereich As Range
Set Bereich = Sheets("Tabelle1").Range("M5:M65")
For Each cell In Bereich
If cell.Value If cell.Value > Date Then
MsgBox cell.Value
End If
End If
Next
Gruß Ralf
Anzeige
AW: Danke euch allen o.T. :-)))
29.09.2004 09:51:11
Petra
'
AW: Hallo Nachfrage an Ralf
29.09.2004 10:43:41
Petra
Hallo Ralf, Nachfrage zu der Bemerkung MsgBox Offset das habe ich nicht verstanden.
Geburtstage stehen wie bekannt bei mir in M5:M65 , Name in A5:A65 , Vorname in B5:B65
wie müsste dann der Offset- Befehl heissen?
MfG Petra
AW: Hallo Nachfrage an Ralf
29.09.2004 11:41:33
Ralf
Hallo Petra,
die MsgBox setzt sich zusammen aus:
Vorname/Leerzeichen/Nachname/Leerzeichen/Datum
Dim Bereich As Range
Set Bereich = Sheets("Tabelle1").Range("M5:M65")
For Each cell In Bereich
If cell.Value If cell.Value > Date Then
MsgBox cell.Offset(0, -11).Value & " " & cell.Offset(0, -12).Value & " " & cell.Value
End If
End If
Next
Noch Fragen?
Gruß Ralf
Anzeige
AW: Hallo Nachfrage an Ralf
29.09.2004 11:55:22
Petra
Hi Ralf, ja eine Frage noch. Wie gesagt stehe mit VBA auf Kriegsfuss nach dem Next wie geht es weiter? .
Vieleicht schnall ich das ja mal mit dem VBA.
MfG Petra
AW: Hallo Nachfrage an Ralf
29.09.2004 12:12:16
Ralf
Hi Petra,
jetzt mal von Vorn.
Möchtest Du, das das Makro automatisch beim öffnen der Datei startet ( nur 1x)?
Oder soll es jederzeit über eine Schaltfläche zu starten sein?
Gruß Ralf
AW: Hallo Nachfrage an Ralf
29.09.2004 12:46:01
Petra
Hi Ralf, am liebsten währe mir das über eine Schaltfläche zu starten.
MfG Petra
AW: Hallo Nachfrage an Ralf
29.09.2004 12:55:53
Petra
Hi Ralf,es sollte es jederzeit über eine Schaltfläche zu starten sein.
Meine Fragen nerven Dich vieleicht aber ich möchte das auch verstehen was ich da mache.
MfG Petra
Anzeige
AW: Hallo Nachfrage an Ralf
29.09.2004 13:29:07
Ralf
Hi Petra,
das Forum wurde ja geschaffen um andere mit Fragen zu nerven :-)
Also:
1. Öffne Dein Tabellenblatt.
2. Mit "Ansicht-Symbolleisten-Steuerelementtoolbox" die Symbolleiste aktivieren.
3. Befehlsschaltfläche wählen und irgedwo auf Deinem Blatt platzieren.
4. Doppelklick auf die Schaltfläche.
5. zwischen " Private Sub commandbutton3_click()" und "End Sub " den Code von vorhin einfügen.
6. VBA-Editor schließen.
7. In der Toolbox-Symbolleiste auf das Dreieck klicken um den Entwurfsmodus zu beenden.
8. Wenn Du jetzt Deine neue Schaltfläche betätigst, sollten Dir die Geburtstage angezeigt werden.
Im Entwurfsmodus kannst Du Farbe, Größe, Text, etc. der Schaltfläche verändern.
Ausführlich genug?
Gruß Ralf
Anzeige
AW: Dank an Ralf
29.09.2004 13:34:27
Petra
Hi Ralf,Super Erklärung ich hab's Verstanden.Danke für deine Geduld mit mir.
wünsche noch einen schönen Tag !!!
MfG Petra
AW: Hallo an Ralf
29.09.2004 14:38:36
Petra
Hi Ralf, der Code Bleibt an dieser Stelle hängen "Cell" wird unterlegt und die Meldung "Variable nicht definiert"
For Each Cell In Bereich
MfG Petra
AW: Hallo an Ralf
29.09.2004 20:48:50
Ralf
Ciao Petra,
Du hast gerade gelernt, das Dein Excel die Variable "cell" nicht kennt und somit nicht verarbeitet.
Schau Dir den Code an. In der 2. Zeile ist die Variable "Bereich" als Range-Objekt deklariert. Das Gleiche mußt Du mit der Variable "cell" machen.
Private Sub CommandButton1_Click() Dim Bereich As Range Dim cell As Range Set Bereich = Sheets("Tabelle1").Range("M5:M65") For Each cell In Bereich If cell.Value < Date + 10 Then If cell.Value > Date Then MsgBox cell.Offset(0, -11).Value & " " & cell.Offset(0, -12).Value & " " & cell.Value End If End If Next End Sub
Okay, jetzt sollte es funktionieren.
Wenn Du VBA lernen oder verstehen willst, solltest Du Dir ein Buch von Bernd Held zulegen, die Excel-Newsletter von www.add-in-world abonieren und immer wieder in dieses Forum schauen.
Gruß Ralf
AW: Hallo an Ralf
29.09.2004 21:06:24
Petra
Hi Ralf, die nervige Petra ist wieder da!. Ralf das hatte ich auch schon geändert,habe mich in der VBA Hilfe kundig gemacht. Nun bleibt der Code aber hier "Set Bereich = Sheets("Tabelle1").Range("M5:M65") stehen.Mit der meldung Laufzeitfehler "9" index außerhalb des gültigen Bereich.
MfG Petra
AW: Hallo an Ralf
29.09.2004 21:55:42
Ralf
Hi Nervi :-)
schick mir doch mal Deine Tabelle.
Bei mir funktioniert der Code.
Ich lerne halt auch noch.
Vielleicht gehts ja auch noch eleganter mit ´ner UserForm, wie Du es eigentlich wolltest.
ralf.pruesse@t-online.de
AW: Hallo an Ralf
29.09.2004 22:17:39
Petra
Hi Ralf,habe die Datei mal hochgeladen ist eine abgespeckte Version.Ist schon Ok wenn Du auch gerade erst neu in VBA bist,auf jeden Fall um Welten weiter als ich.
Lasse Dir ruhig Zeit wenn Du es hin bekommst kannst Du mir auch per eMail zusenden.
Hier meine Mailadr. " Past929@hotmail.com "
MfG Petra
https://www.herber.de/bbs/user/11485.xls
AW: Überraschung
30.09.2004 10:58:42
Ralf
Hi Petra,
ist ja wohl doch etwas komplexer als ´ne einfache Tabelle / Liste !
Aber ich mach´s demnächst fertig.
Gruß Ralf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige