Calendar issue trying to get holidays and birthdays to update

AlanStrobel

New Member
Joined
Aug 22, 2013
Messages
8
Hi Mr. Excel,

I got a issue trying to get holidays and birthdays to update from a sheet called Memo to a sheet called Calendar. I got the calendar to work the way I want it but cannot figure out how to make the holidays or birthdays listed on another sheet to show on the calendar or change based on the month selected. Is there a way to send the whole file so you can see all the code.

Thanks

Alan S.
 

Excel Facts

Workdays for a market open Mon, Wed, Friday?
Yes! Use "0101011" for the weekend argument in NETWORKDAYS.INTL or WORKDAY.INTL. The 7 digits start on Monday. 1 means it is a weekend.
you can share a link to it with a dropbox or onedrive account that you have. But, many people are reluctant to open random links.
Are you doing this with VBA or using formulas?

Mr. Excel has a tool called xl2bb add in (link below) ... you could probably post with xl2bb (or post a table - not an image) a portion of your birthday list and a portion of your calendar worksheet(s). It could be enough to get a good reply. If you have vba, you can post the vba with it as well (use the "VBA" quoting tool that is above each post composing section).
 
Upvote 0
Hi

This code is in Calendar1 image
A1 code =UPPER(TEXT(DATE(S4,S3,1),"MMMM YYYY")) This is the month and year showing on the calendar, which this all changes from the Control Area box
C3 code =Q52
each of the cells that have a day would have similar code

This is calendar2 image sheet with Holidays and Birthdays.
Code in Cells in column A this was just an attempt if there is a better way I'm good with changing it. =IF(B2=1,$M$2,IF(B2=2,$M$3,IF(B2=3,$M$4,IF(B2=4,$M$5,IF(B2=5,$M$6,IF(B2=6,$M$7,IF(B2=7,$M$8,IF(B2=8,$M$9,IF(B2=9,$M$10,IF(B2=10,$M$11,IF(B2=11,$M$12,IF(B2=12,$M$13,""))))))))))))

Want to make it where I take the sheet with birthdays and have them show up on the day it correlates to on the calendar and change\update when I change the month or year.
 

Attachments

  • Calendar2.jpg
    Calendar2.jpg
    155.6 KB · Views: 7
  • Calendar1.jpg
    Calendar1.jpg
    156.2 KB · Views: 6
Upvote 0
Is there a reason why you don't want to help the forum help you?
Please post using the xl2bb add in, a table posting, or a send a share-able file link.

You can change your data to protect anonymity and data disclosure.

You're asking the forum to completely recreate your application and there can be typos and errors.

Thanks in advance.
 
Upvote 0
Cell Formulas
RangeFormula
A1A1=UPPER(TEXT(DATE(S4,S3,1),"MMMM YYYY"))
A2,M2,K2,I2,G2,E2,C2A2=TEXT(A9,"dddd")
A3A3=P52
B3B3=IF(A3="","",XLOOKUP(S3&Memo!M2,Memo!A2:A15&Memo!B2:B15,Memo!C2:C15,""))
C3C3=Q52
D3D3=IF(C3="","",IF(C3=Q52,XLOOKUP(S3&Memo!M2,Memo!A2:A15&Memo!B2:B15,Memo!C2:C15,101)))
E3E3=R52
G3G3=S52
I3I3=T52
K3K3=U52
M3M3=V52
A9A9=P53
C9C9=Q53
E9E9=R53
G9G9=S53
I9I9=T53
K9K9=U53
M9M9=V53
A15A15=P54
C15C15=Q54
E15E15=R54
G15G15=S54
I15I15=T54
K15K15=U54
M15M15=V54
A21A21=$P55
C21C21=Q55
E21E21=R55
G21G21=S55
I21I21=T55
K21K21=U55
M21M21=V55
A27A27=P56
C27C27=Q56
E27E27=R56
G27G27=S56
I27I27=T56
K27K27=U56
M27M27=V56
A33A33=P57
C33C33=Q57
P41P41=DATE(YEAR(P50-5),MONTH(P50-5),1)
P42,P60,P51P42=IF($W$6,"M","Su")
Q42,Q60,Q51Q42=IF($W$6,"Tu","M")
R42,R60,R51R42=IF($W$6,"W","Tu")
S42,S60,S51S42=IF($W$6,"Th","W")
T42,T60,T51T42=IF($W$6,"F","Th")
U42,U60,U51U42=IF($W$6,"Sa","F")
V42,V60,V51V42=IF($W$6,"Su","Sa")
P43:V48P43=IF(MONTH($P$41)<>MONTH($P$41-WEEKDAY($P$41,$W$6+1)+(ROW(P43)-ROW($P$43))*7+(COLUMN(P43)-COLUMN($P$43)+1)),"",$P$41-WEEKDAY($P$41,$W$6+1)+(ROW(P43)-ROW($P$43))*7+(COLUMN(P43)-COLUMN($P$43)+1))
P50P50=DATE(S4,S3,1)
P52:V57P52=IF(MONTH($P$50)<>MONTH($P$50-WEEKDAY($P$50,$W$6+1)+(ROW(P52)-ROW($P$52))*7+(COLUMN(P52)-COLUMN($P$52)+1)),"",$P$50-WEEKDAY($P$50,$W$6+1)+(ROW(P52)-ROW($P$52))*7+(COLUMN(P52)-COLUMN($P$52)+1))
P59P59=DATE(YEAR(P50+35),MONTH(P50+35),1)
P61:V66P61=IF(MONTH($P$59)<>MONTH($P$59-WEEKDAY($P$59,$W$6+1)+(ROW(P61)-ROW($P$61))*7+(COLUMN(P61)-COLUMN($P$61)+1)),"",$P$59-WEEKDAY($P$59,$W$6+1)+(ROW(P61)-ROW($P$61))*7+(COLUMN(P61)-COLUMN($P$61)+1))
Named Ranges
NameRefers ToCells
_10=Calendar!$Q$45:$V$45Q45
_17=Calendar!$Q$46:$V$46Q46
_24=Calendar!$Q$47:$V$47Q47
_3=Calendar!$Q$44:$V$44Q44
Cells with Conditional Formatting
CellConditionCell FormatStop If True
A27:B32Expression=$A$27=""textYES
C27:D32Expression=$C$27=""textYES
E27:F32Expression=$E$27=""textYES
I27:J32Expression=$I$27=""textYES
G27:H32Expression=$G$27=""textYES
M27:N32Expression=$M$27=""textYES
K27:L32Expression=$K$27=""textYES
C33:D38Expression=$C$33=""textYES
A33:B38Expression=$A$33=""textYES
K3:L8Expression=$K$3=""textYES
I3:J8Expression=$I$3=""textYES
G3:H8Expression=$G$3=""textYES
E3:F8Expression=$E$3=""textYES
C3:D8Expression=$C$3=""textYES
A3:B8Expression=$A$3=""textYES
 
Upvote 0
Calendar - Copy.xlsx
ABCDEFGHIJKLM
1MonthDayEventControl
211New Year's DayJanuary1
31191 BirthdayFebruary2
42102 BirthdayMarch3
52143 BirthdayApril4
62144 BirthdayMay5
7214Valentines DayJune6
8527Memorial DayJuly7
974Independace DayAugust8
1092Labor DaySeptember9
1191424 BirthdayOctober10
1291425 BirthdayNovember11
131111Veteran's DayDecember12
141128Thanksgiving
151225Christmas
Memo
 
Upvote 0
Thanks for posting as an xl2bb! I should have also asked what version of excel do you use? If you use a version that has the FILTER, LET, and/or other LAMBDA functions this is probably a lot easier than with older versions. And also update your profile so the button displays your excel version to the forum.
 
Upvote 0
I think this gets it for you. But, you must have the FILTER function in your version:

Paste this in only the top half of your workbook. Or just use this formula in cell B3 and copy to the other cells that are next to numbers.
(With your merged cells you may need to convert the array values into a list so it will fit in a merged cell. I loathe merged cells. To avoid that you can just format the cells with no visible grid lines.)

Excel Formula:
=IF(A3="","",FILTER(Memo!$C$2:$C$15,(Memo!$A$2:$A$15=MONTH(A3))*(Memo!$B$2:$B$15=DAY(A3)),""))

You can put a carriage return into a textjoin with text wrap formatting function if you want to have the merged cells:
Excel Formula:
=IF(G15="","",TEXTJOIN(CHAR(10),TRUE,FILTER(Memo!$C$2:$C$15,(Memo!$A$2:$A$15=MONTH(G15))*(Memo!$B$2:$B$15=DAY(G15)),"")))

Cell Formulas
RangeFormula
A1A1=UPPER(TEXT(DATE(S4,S3,1),"MMMM YYYY"))
A2,M2,K2,I2,G2,E2,C2A2=TEXT(A9,"dddd")
A3A3=P52
B3,D3,F3,H3,J3,L3,N3,M27,B27,D27,F27,H27,J27,B21,D21,F21,H21,J21,L21,N21,H15:H17,B15,D15,F15,J15,L15,N15,B9,D9,F9,H9,J9,L9,N9B3=IF(A3="","",FILTER(Memo!$C$2:$C$15,(Memo!$A$2:$A$15=MONTH(A3))*(Memo!$B$2:$B$15=DAY(A3)),""))
C3C3=Q52
E3E3=R52
G3G3=S52
I3I3=T52
K3K3=U52
M3M3=V52
A9A9=P53
C9C9=Q53
E9E9=R53
G9G9=S53
I9I9=T53
K9K9=U53
M9M9=V53
A15A15=P54
C15C15=Q54
E15E15=R54
G15G15=S54
I15I15=T54
K15K15=U54
M15M15=V54
A21A21=$P55
C21C21=Q55
E21E21=R55
G21G21=S55
I21I21=T55
K21K21=U55
M21M21=V55
A27A27=P56
C27C27=Q56
E27E27=R56
G27G27=S56
I27I27=T56
K27K27=U56
A33A33=P57
C33C33=Q57
 
Last edited:
Upvote 0

Forum statistics

Threads
1,215,137
Messages
6,123,252
Members
449,093
Latest member
Vincent Khandagale

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top