Formula Help Please?

How_Do_I

Well-known Member
Joined
Oct 23, 2009
Messages
1,831
Office Version
  1. 2010
Platform
  1. Windows
Hello... I'm trying to use Conditional Formatting and a Formula to highlight the dates that my diaries cover... In the example I'm missing diaries from 1916 so what formula and conditional Formatting would I use to transfer my data in to the table please...?

1916​
1917​
DiaryOpenedClosedJanFebMarAprMayJunJulAugSepOctNovDecJanFebMarAprMayJunJulAugSepOctNovDec
John's Diary
01/01/1916​
31/05/1916​
John's Diary
01/06/1916​
31/07/1916​
John's Diary
01/07/1917​
31/10/1917​
John's Diary
01/07/1917​
31/10/1917​
John's Diary
01/11/1917​
28/02/1918​
John's Diary
01/01/1917​
30/06/1917​
John's Diary
01/01/1917​
30/06/1917​

I'm after one row of results...
 
Last edited by a moderator:

Excel Facts

What does custom number format of ;;; mean?
Three semi-colons will hide the value in the cell. Although most people use white font instead.
hi
use below macro to set up all cells
mo.xlsm
ABCDEFGHIJKLMNOPQ
1
2YEAR1916
3DiaryOpenedClosedJanFebMarAprMayJunJulAugSepOctNovDec
4John's Diary01/01/191605/31/19161   31       
5John's Diary06/01/191607/31/1916     131     
6John's Diary01/07/191710/31/1917            
7John's Diary01/07/191710/31/1917            
8John's Diary01/11/191702/28/1918            
9John's Diary01/01/191706/30/1917            
10John's Diary01/01/191706/30/1917            
ورقة2
Cell Formulas
RangeFormula
F4F4=IF(AND($F$2=YEAR($B$4),1=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),1=MONTH($C$4)),DAY($C$4),"")
G4G4=IF(AND($F$2=YEAR($B$4),2=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),2=MONTH($C$4)),DAY($C$4),"")
H4H4=IF(AND($F$2=YEAR($B$4),3=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),3=MONTH($C$4)),DAY($C$4),"")
I4I4=IF(AND($F$2=YEAR($B$4),4=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),4=MONTH($C$4)),DAY($C$4),"")
J4J4=IF(AND($F$2=YEAR($B$4),5=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),5=MONTH($C$4)),DAY($C$4),"")
K4K4=IF(AND($F$2=YEAR($B$4),6=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),6=MONTH($C$4)),DAY($C$4),"")
L4L4=IF(AND($F$2=YEAR($B$4),7=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),7=MONTH($C$4)),DAY($C$4),"")
M4M4=IF(AND($F$2=YEAR($B$4),8=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),8=MONTH($C$4)),DAY($C$4),"")
N4N4=IF(AND($F$2=YEAR($B$4),9=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),9=MONTH($C$4)),DAY($C$4),"")
O4O4=IF(AND($F$2=YEAR($B$4),10=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),10=MONTH($C$4)),DAY($C$4),"")
P4P4=IF(AND($F$2=YEAR($B$4),11=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),11=MONTH($C$4)),DAY($C$4),"")
Q4Q4=IF(AND($F$2=YEAR($B$4),12=MONTH($B$4)),DAY($B$4),"")&IF(AND($F$2=YEAR($C$4),12=MONTH($C$4)),DAY($C$4),"")
F5F5=IF(AND($F$2=YEAR($B$5),1=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),1=MONTH($C$5)),DAY($C$5),"")
G5G5=IF(AND($F$2=YEAR($B$5),2=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),2=MONTH($C$5)),DAY($C$5),"")
H5H5=IF(AND($F$2=YEAR($B$5),3=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),3=MONTH($C$5)),DAY($C$5),"")
I5I5=IF(AND($F$2=YEAR($B$5),4=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),4=MONTH($C$5)),DAY($C$5),"")
J5J5=IF(AND($F$2=YEAR($B$5),5=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),5=MONTH($C$5)),DAY($C$5),"")
K5K5=IF(AND($F$2=YEAR($B$5),6=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),6=MONTH($C$5)),DAY($C$5),"")
L5L5=IF(AND($F$2=YEAR($B$5),7=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),7=MONTH($C$5)),DAY($C$5),"")
M5M5=IF(AND($F$2=YEAR($B$5),8=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),8=MONTH($C$5)),DAY($C$5),"")
N5N5=IF(AND($F$2=YEAR($B$5),9=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),9=MONTH($C$5)),DAY($C$5),"")
O5O5=IF(AND($F$2=YEAR($B$5),10=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),10=MONTH($C$5)),DAY($C$5),"")
P5P5=IF(AND($F$2=YEAR($B$5),11=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),11=MONTH($C$5)),DAY($C$5),"")
Q5Q5=IF(AND($F$2=YEAR($B$5),12=MONTH($B$5)),DAY($B$5),"")&IF(AND($F$2=YEAR($C$5),12=MONTH($C$5)),DAY($C$5),"")
F6F6=IF(AND($F$2=YEAR($B$6),1=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),1=MONTH($C$6)),DAY($C$6),"")
G6G6=IF(AND($F$2=YEAR($B$6),2=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),2=MONTH($C$6)),DAY($C$6),"")
H6H6=IF(AND($F$2=YEAR($B$6),3=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),3=MONTH($C$6)),DAY($C$6),"")
I6I6=IF(AND($F$2=YEAR($B$6),4=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),4=MONTH($C$6)),DAY($C$6),"")
J6J6=IF(AND($F$2=YEAR($B$6),5=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),5=MONTH($C$6)),DAY($C$6),"")
K6K6=IF(AND($F$2=YEAR($B$6),6=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),6=MONTH($C$6)),DAY($C$6),"")
L6L6=IF(AND($F$2=YEAR($B$6),7=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),7=MONTH($C$6)),DAY($C$6),"")
M6M6=IF(AND($F$2=YEAR($B$6),8=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),8=MONTH($C$6)),DAY($C$6),"")
N6N6=IF(AND($F$2=YEAR($B$6),9=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),9=MONTH($C$6)),DAY($C$6),"")
O6O6=IF(AND($F$2=YEAR($B$6),10=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),10=MONTH($C$6)),DAY($C$6),"")
P6P6=IF(AND($F$2=YEAR($B$6),11=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),11=MONTH($C$6)),DAY($C$6),"")
Q6Q6=IF(AND($F$2=YEAR($B$6),12=MONTH($B$6)),DAY($B$6),"")&IF(AND($F$2=YEAR($C$6),12=MONTH($C$6)),DAY($C$6),"")
F7F7=IF(AND($F$2=YEAR($B$7),1=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),1=MONTH($C$7)),DAY($C$7),"")
G7G7=IF(AND($F$2=YEAR($B$7),2=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),2=MONTH($C$7)),DAY($C$7),"")
H7H7=IF(AND($F$2=YEAR($B$7),3=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),3=MONTH($C$7)),DAY($C$7),"")
I7I7=IF(AND($F$2=YEAR($B$7),4=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),4=MONTH($C$7)),DAY($C$7),"")
J7J7=IF(AND($F$2=YEAR($B$7),5=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),5=MONTH($C$7)),DAY($C$7),"")
K7K7=IF(AND($F$2=YEAR($B$7),6=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),6=MONTH($C$7)),DAY($C$7),"")
L7L7=IF(AND($F$2=YEAR($B$7),7=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),7=MONTH($C$7)),DAY($C$7),"")
M7M7=IF(AND($F$2=YEAR($B$7),8=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),8=MONTH($C$7)),DAY($C$7),"")
N7N7=IF(AND($F$2=YEAR($B$7),9=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),9=MONTH($C$7)),DAY($C$7),"")
O7O7=IF(AND($F$2=YEAR($B$7),10=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),10=MONTH($C$7)),DAY($C$7),"")
P7P7=IF(AND($F$2=YEAR($B$7),11=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),11=MONTH($C$7)),DAY($C$7),"")
Q7Q7=IF(AND($F$2=YEAR($B$7),12=MONTH($B$7)),DAY($B$7),"")&IF(AND($F$2=YEAR($C$7),12=MONTH($C$7)),DAY($C$7),"")
F8F8=IF(AND($F$2=YEAR($B$8),1=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),1=MONTH($C$8)),DAY($C$8),"")
G8G8=IF(AND($F$2=YEAR($B$8),2=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),2=MONTH($C$8)),DAY($C$8),"")
H8H8=IF(AND($F$2=YEAR($B$8),3=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),3=MONTH($C$8)),DAY($C$8),"")
I8I8=IF(AND($F$2=YEAR($B$8),4=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),4=MONTH($C$8)),DAY($C$8),"")
J8J8=IF(AND($F$2=YEAR($B$8),5=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),5=MONTH($C$8)),DAY($C$8),"")
K8K8=IF(AND($F$2=YEAR($B$8),6=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),6=MONTH($C$8)),DAY($C$8),"")
L8L8=IF(AND($F$2=YEAR($B$8),7=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),7=MONTH($C$8)),DAY($C$8),"")
M8M8=IF(AND($F$2=YEAR($B$8),8=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),8=MONTH($C$8)),DAY($C$8),"")
N8N8=IF(AND($F$2=YEAR($B$8),9=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),9=MONTH($C$8)),DAY($C$8),"")
O8O8=IF(AND($F$2=YEAR($B$8),10=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),10=MONTH($C$8)),DAY($C$8),"")
P8P8=IF(AND($F$2=YEAR($B$8),11=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),11=MONTH($C$8)),DAY($C$8),"")
Q8Q8=IF(AND($F$2=YEAR($B$8),12=MONTH($B$8)),DAY($B$8),"")&IF(AND($F$2=YEAR($C$8),12=MONTH($C$8)),DAY($C$8),"")
F9F9=IF(AND($F$2=YEAR($B$9),1=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),1=MONTH($C$9)),DAY($C$9),"")
G9G9=IF(AND($F$2=YEAR($B$9),2=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),2=MONTH($C$9)),DAY($C$9),"")
H9H9=IF(AND($F$2=YEAR($B$9),3=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),3=MONTH($C$9)),DAY($C$9),"")
I9I9=IF(AND($F$2=YEAR($B$9),4=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),4=MONTH($C$9)),DAY($C$9),"")
J9J9=IF(AND($F$2=YEAR($B$9),5=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),5=MONTH($C$9)),DAY($C$9),"")
K9K9=IF(AND($F$2=YEAR($B$9),6=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),6=MONTH($C$9)),DAY($C$9),"")
L9L9=IF(AND($F$2=YEAR($B$9),7=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),7=MONTH($C$9)),DAY($C$9),"")
M9M9=IF(AND($F$2=YEAR($B$9),8=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),8=MONTH($C$9)),DAY($C$9),"")
N9N9=IF(AND($F$2=YEAR($B$9),9=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),9=MONTH($C$9)),DAY($C$9),"")
O9O9=IF(AND($F$2=YEAR($B$9),10=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),10=MONTH($C$9)),DAY($C$9),"")
P9P9=IF(AND($F$2=YEAR($B$9),11=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),11=MONTH($C$9)),DAY($C$9),"")
Q9Q9=IF(AND($F$2=YEAR($B$9),12=MONTH($B$9)),DAY($B$9),"")&IF(AND($F$2=YEAR($C$9),12=MONTH($C$9)),DAY($C$9),"")
F10F10=IF(AND($F$2=YEAR($B$10),1=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),1=MONTH($C$10)),DAY($C$10),"")
G10G10=IF(AND($F$2=YEAR($B$10),2=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),2=MONTH($C$10)),DAY($C$10),"")
H10H10=IF(AND($F$2=YEAR($B$10),3=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),3=MONTH($C$10)),DAY($C$10),"")
I10I10=IF(AND($F$2=YEAR($B$10),4=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),4=MONTH($C$10)),DAY($C$10),"")
J10J10=IF(AND($F$2=YEAR($B$10),5=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),5=MONTH($C$10)),DAY($C$10),"")
K10K10=IF(AND($F$2=YEAR($B$10),6=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),6=MONTH($C$10)),DAY($C$10),"")
L10L10=IF(AND($F$2=YEAR($B$10),7=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),7=MONTH($C$10)),DAY($C$10),"")
M10M10=IF(AND($F$2=YEAR($B$10),8=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),8=MONTH($C$10)),DAY($C$10),"")
N10N10=IF(AND($F$2=YEAR($B$10),9=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),9=MONTH($C$10)),DAY($C$10),"")
O10O10=IF(AND($F$2=YEAR($B$10),10=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),10=MONTH($C$10)),DAY($C$10),"")
P10P10=IF(AND($F$2=YEAR($B$10),11=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),11=MONTH($C$10)),DAY($C$10),"")
Q10Q10=IF(AND($F$2=YEAR($B$10),12=MONTH($B$10)),DAY($B$10),"")&IF(AND($F$2=YEAR($C$10),12=MONTH($C$10)),DAY($C$10),"")
Cells with Conditional Formatting
CellConditionCell FormatStop If True
Q10Expression=AND(DATE($F$2,12,1)>=$B$10,(DATE($F$2,13,1)-1)<=$C$10)textNO
P10Expression=AND(DATE($F$2,11,1)>=$B$10,(DATE($F$2,12,1)-1)<=$C$10)textNO
O10Expression=AND(DATE($F$2,10,1)>=$B$10,(DATE($F$2,11,1)-1)<=$C$10)textNO
N10Expression=AND(DATE($F$2,9,1)>=$B$10,(DATE($F$2,10,1)-1)<=$C$10)textNO
M10Expression=AND(DATE($F$2,8,1)>=$B$10,(DATE($F$2,9,1)-1)<=$C$10)textNO
L10Expression=AND(DATE($F$2,7,1)>=$B$10,(DATE($F$2,8,1)-1)<=$C$10)textNO
K10Expression=AND(DATE($F$2,6,1)>=$B$10,(DATE($F$2,7,1)-1)<=$C$10)textNO
J10Expression=AND(DATE($F$2,5,1)>=$B$10,(DATE($F$2,6,1)-1)<=$C$10)textNO
I10Expression=AND(DATE($F$2,4,1)>=$B$10,(DATE($F$2,5,1)-1)<=$C$10)textNO
H10Expression=AND(DATE($F$2,3,1)>=$B$10,(DATE($F$2,4,1)-1)<=$C$10)textNO
G10Expression=AND(DATE($F$2,2,1)>=$B$10,(DATE($F$2,3,1)-1)<=$C$10)textNO
F10Expression=AND(DATE($F$2,1,1)>=$B$10,(DATE($F$2,2,1)-1)<=$C$10)textNO
Q9Expression=AND(DATE($F$2,12,1)>=$B$9,(DATE($F$2,13,1)-1)<=$C$9)textNO
P9Expression=AND(DATE($F$2,11,1)>=$B$9,(DATE($F$2,12,1)-1)<=$C$9)textNO
O9Expression=AND(DATE($F$2,10,1)>=$B$9,(DATE($F$2,11,1)-1)<=$C$9)textNO
N9Expression=AND(DATE($F$2,9,1)>=$B$9,(DATE($F$2,10,1)-1)<=$C$9)textNO
M9Expression=AND(DATE($F$2,8,1)>=$B$9,(DATE($F$2,9,1)-1)<=$C$9)textNO
L9Expression=AND(DATE($F$2,7,1)>=$B$9,(DATE($F$2,8,1)-1)<=$C$9)textNO
K9Expression=AND(DATE($F$2,6,1)>=$B$9,(DATE($F$2,7,1)-1)<=$C$9)textNO
J9Expression=AND(DATE($F$2,5,1)>=$B$9,(DATE($F$2,6,1)-1)<=$C$9)textNO
I9Expression=AND(DATE($F$2,4,1)>=$B$9,(DATE($F$2,5,1)-1)<=$C$9)textNO
H9Expression=AND(DATE($F$2,3,1)>=$B$9,(DATE($F$2,4,1)-1)<=$C$9)textNO
G9Expression=AND(DATE($F$2,2,1)>=$B$9,(DATE($F$2,3,1)-1)<=$C$9)textNO
F9Expression=AND(DATE($F$2,1,1)>=$B$9,(DATE($F$2,2,1)-1)<=$C$9)textNO
Q8Expression=AND(DATE($F$2,12,1)>=$B$8,(DATE($F$2,13,1)-1)<=$C$8)textNO
P8Expression=AND(DATE($F$2,11,1)>=$B$8,(DATE($F$2,12,1)-1)<=$C$8)textNO
O8Expression=AND(DATE($F$2,10,1)>=$B$8,(DATE($F$2,11,1)-1)<=$C$8)textNO
N8Expression=AND(DATE($F$2,9,1)>=$B$8,(DATE($F$2,10,1)-1)<=$C$8)textNO
M8Expression=AND(DATE($F$2,8,1)>=$B$8,(DATE($F$2,9,1)-1)<=$C$8)textNO
L8Expression=AND(DATE($F$2,7,1)>=$B$8,(DATE($F$2,8,1)-1)<=$C$8)textNO
K8Expression=AND(DATE($F$2,6,1)>=$B$8,(DATE($F$2,7,1)-1)<=$C$8)textNO
J8Expression=AND(DATE($F$2,5,1)>=$B$8,(DATE($F$2,6,1)-1)<=$C$8)textNO
I8Expression=AND(DATE($F$2,4,1)>=$B$8,(DATE($F$2,5,1)-1)<=$C$8)textNO
H8Expression=AND(DATE($F$2,3,1)>=$B$8,(DATE($F$2,4,1)-1)<=$C$8)textNO
G8Expression=AND(DATE($F$2,2,1)>=$B$8,(DATE($F$2,3,1)-1)<=$C$8)textNO
F8Expression=AND(DATE($F$2,1,1)>=$B$8,(DATE($F$2,2,1)-1)<=$C$8)textNO
Q7Expression=AND(DATE($F$2,12,1)>=$B$7,(DATE($F$2,13,1)-1)<=$C$7)textNO
P7Expression=AND(DATE($F$2,11,1)>=$B$7,(DATE($F$2,12,1)-1)<=$C$7)textNO
O7Expression=AND(DATE($F$2,10,1)>=$B$7,(DATE($F$2,11,1)-1)<=$C$7)textNO
N7Expression=AND(DATE($F$2,9,1)>=$B$7,(DATE($F$2,10,1)-1)<=$C$7)textNO
M7Expression=AND(DATE($F$2,8,1)>=$B$7,(DATE($F$2,9,1)-1)<=$C$7)textNO
L7Expression=AND(DATE($F$2,7,1)>=$B$7,(DATE($F$2,8,1)-1)<=$C$7)textNO
K7Expression=AND(DATE($F$2,6,1)>=$B$7,(DATE($F$2,7,1)-1)<=$C$7)textNO
J7Expression=AND(DATE($F$2,5,1)>=$B$7,(DATE($F$2,6,1)-1)<=$C$7)textNO
I7Expression=AND(DATE($F$2,4,1)>=$B$7,(DATE($F$2,5,1)-1)<=$C$7)textNO
H7Expression=AND(DATE($F$2,3,1)>=$B$7,(DATE($F$2,4,1)-1)<=$C$7)textNO
G7Expression=AND(DATE($F$2,2,1)>=$B$7,(DATE($F$2,3,1)-1)<=$C$7)textNO
F7Expression=AND(DATE($F$2,1,1)>=$B$7,(DATE($F$2,2,1)-1)<=$C$7)textNO
Q6Expression=AND(DATE($F$2,12,1)>=$B$6,(DATE($F$2,13,1)-1)<=$C$6)textNO
P6Expression=AND(DATE($F$2,11,1)>=$B$6,(DATE($F$2,12,1)-1)<=$C$6)textNO
O6Expression=AND(DATE($F$2,10,1)>=$B$6,(DATE($F$2,11,1)-1)<=$C$6)textNO
N6Expression=AND(DATE($F$2,9,1)>=$B$6,(DATE($F$2,10,1)-1)<=$C$6)textNO
M6Expression=AND(DATE($F$2,8,1)>=$B$6,(DATE($F$2,9,1)-1)<=$C$6)textNO
L6Expression=AND(DATE($F$2,7,1)>=$B$6,(DATE($F$2,8,1)-1)<=$C$6)textNO
K6Expression=AND(DATE($F$2,6,1)>=$B$6,(DATE($F$2,7,1)-1)<=$C$6)textNO
J6Expression=AND(DATE($F$2,5,1)>=$B$6,(DATE($F$2,6,1)-1)<=$C$6)textNO
I6Expression=AND(DATE($F$2,4,1)>=$B$6,(DATE($F$2,5,1)-1)<=$C$6)textNO
H6Expression=AND(DATE($F$2,3,1)>=$B$6,(DATE($F$2,4,1)-1)<=$C$6)textNO
G6Expression=AND(DATE($F$2,2,1)>=$B$6,(DATE($F$2,3,1)-1)<=$C$6)textNO
F6Expression=AND(DATE($F$2,1,1)>=$B$6,(DATE($F$2,2,1)-1)<=$C$6)textNO
Q5Expression=AND(DATE($F$2,12,1)>=$B$5,(DATE($F$2,13,1)-1)<=$C$5)textNO
P5Expression=AND(DATE($F$2,11,1)>=$B$5,(DATE($F$2,12,1)-1)<=$C$5)textNO
O5Expression=AND(DATE($F$2,10,1)>=$B$5,(DATE($F$2,11,1)-1)<=$C$5)textNO
N5Expression=AND(DATE($F$2,9,1)>=$B$5,(DATE($F$2,10,1)-1)<=$C$5)textNO
M5Expression=AND(DATE($F$2,8,1)>=$B$5,(DATE($F$2,9,1)-1)<=$C$5)textNO
L5Expression=AND(DATE($F$2,7,1)>=$B$5,(DATE($F$2,8,1)-1)<=$C$5)textNO
K5Expression=AND(DATE($F$2,6,1)>=$B$5,(DATE($F$2,7,1)-1)<=$C$5)textNO
J5Expression=AND(DATE($F$2,5,1)>=$B$5,(DATE($F$2,6,1)-1)<=$C$5)textNO
I5Expression=AND(DATE($F$2,4,1)>=$B$5,(DATE($F$2,5,1)-1)<=$C$5)textNO
H5Expression=AND(DATE($F$2,3,1)>=$B$5,(DATE($F$2,4,1)-1)<=$C$5)textNO
G5Expression=AND(DATE($F$2,2,1)>=$B$5,(DATE($F$2,3,1)-1)<=$C$5)textNO
F5Expression=AND(DATE($F$2,1,1)>=$B$5,(DATE($F$2,2,1)-1)<=$C$5)textNO
Q4Expression=AND(DATE($F$2,12,1)>=$B$4,(DATE($F$2,13,1)-1)<=$C$4)textNO
P4Expression=AND(DATE($F$2,11,1)>=$B$4,(DATE($F$2,12,1)-1)<=$C$4)textNO
O4Expression=AND(DATE($F$2,10,1)>=$B$4,(DATE($F$2,11,1)-1)<=$C$4)textNO
N4Expression=AND(DATE($F$2,9,1)>=$B$4,(DATE($F$2,10,1)-1)<=$C$4)textNO
M4Expression=AND(DATE($F$2,8,1)>=$B$4,(DATE($F$2,9,1)-1)<=$C$4)textNO
L4Expression=AND(DATE($F$2,7,1)>=$B$4,(DATE($F$2,8,1)-1)<=$C$4)textNO
K4Expression=AND(DATE($F$2,6,1)>=$B$4,(DATE($F$2,7,1)-1)<=$C$4)textNO
J4Expression=AND(DATE($F$2,5,1)>=$B$4,(DATE($F$2,6,1)-1)<=$C$4)textNO
I4Expression=AND(DATE($F$2,4,1)>=$B$4,(DATE($F$2,5,1)-1)<=$C$4)textNO
H4Expression=AND(DATE($F$2,3,1)>=$B$4,(DATE($F$2,4,1)-1)<=$C$4)textNO
G4Expression=AND(DATE($F$2,2,1)>=$B$4,(DATE($F$2,3,1)-1)<=$C$4)textNO
F4Expression=AND(DATE($F$2,1,1)>=$B$4,(DATE($F$2,2,1)-1)<=$C$4)textNO


to set up
VBA Code:
Sub adcond()
Dim WB As Workbook: Set WB = ThisWorkbook
Dim WS As Worksheet: Set WS = WB.ActiveSheet
Dim Rng As Range, TblRng As Range, condRng As Range, YYRng As Range
Dim Cl As Long
Set TblRng = WS.Range("A2:AC10")
Set condRng = TblRng.Cells(3, 6).Resize(TblRng.Rows.Count - 2, TblRng.Columns.Count - 5)

    condRng.FormatConditions.Delete
    
        For Each Rng In condRng
    Cl = (WorksheetFunction.Ceiling((Rng.Column - condRng.Column + 1), 12) / 12) * 12 - condRng.Column
    Set YYRng = Cells(TblRng.Row, Cl)
    yy = YYRng.Address
    mm = ((Rng.Column - condRng.Column + 1 - 1) Mod 12) + 1
    Frml = "IF(AND(" & yy & "=YEAR(" & Cells(Rng.Row, 2).Address & ")," & mm & "=MONTH(" & Cells(Rng.Row, 2).Address & ")),day(" & Cells(Rng.Row, 2).Address & "),"""")"
    Frml = "=" & Frml & "&IF(AND(" & yy & "=YEAR(" & Cells(Rng.Row, 3).Address & ")," & mm & "=MONTH(" & Cells(Rng.Row, 3).Address & ")),day(" & Cells(Rng.Row, 3).Address & "),"""")"
    FrmlCnd = "=AND(DATE(" & yy & "," & mm & ",1)>=" & Cells(Rng.Row, 2).Address & ",(DATE(" & yy & "," & mm + 1 & ",1)-1)<=" & Cells(Rng.Row, 3).Address & ")"
    
    With Rng
    .Value = Frml
    .FormatConditions.Add Type:=xlExpression, Formula1:=FrmlCnd
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 6691327
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False
    
    End With
    
    Next

End Sub
 
Upvote 0
Vba
Use the gradient color to show the percentage of days of the month for the first and last cells, XL2BB does not have a gradient feature and shows it in Black, so I am attaching this image
Picture1.gif


condtion.xlsm
ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQ
1DiaryFirstSecondTheirid191619171918
2OpenCloseOpenCloseOpenCloseJanFebMarAprMayJunJulAugSepOctNovDecJanFebMarAprMayJunJulAugSepOctNovDecJanFebMarAprMayJunJulAugSepOctNovDec
3John's Diary15/01/191631/05/19161531
4John's Diary01/06/191631/07/1916131
5John's Diary07/01/191710/31/1917731
6John's Diary07/01/191710/31/1917731
7John's Diary11/01/191728/02/19181128
8John's Diary01/01/191730/06/1917130
9John's Diary01/01/191730/06/1917130
10
11
12
Sheet1
Cell Formulas
RangeFormula
T1,AF1T1=H1+1


VBA Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

Dim I As Long, ClNum As Long, RngFrstCl As Long, C As Long, Cl As Long, ClOfst As Long, N As Long, Md As Long, D As Long, P As Single, CN As Long, RN As Long, Ar As Long
Dim Rngyy As Range, AC As Range, Rng As Range, DateRng As Range, FrstRng As Range, LstRng As Range, CondRngNew As Range, CondRngOld As Range, FrstCllOld As Range
Dim FrstCllNew As Range, LstCllNew As Range, LstCllOld As Range, Cll As Range
Dim CondRngNewAdrs As String, CondRngOldAdrs As String, V As String, FrstRngAdrs As String, LstRngAdrs As String
Dim ArrRng As Variant, ArrFC As Variant, ArrLC As Variant

Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next

Set Rngyy = Range("H1")

If Intersect(Target, Cells) Is Nothing Then Exit Sub
    If Not Intersect(Target, Columns("B:G")) Is Nothing Then

    Set AC = ActiveCell
        For I = 1 To 2
            Application.Undo
          
          
            RngFrstCl = WorksheetFunction.Ceiling(Target.Columns.Count, 2) / 2 ' First Column of Date Range
                For C = 1 To RngFrstCl
                Set DateRng = Target.Columns((C * 2) - 1).Cells
                    For Each Rng In DateRng
                              
                         ClNum = (Rng.Column - Columns("B:G").Column) + 1 'Range Column N0.
                        
                      
                        If ClNum Mod 2 = 0 Then
                            FrstRngAdrs = FrstRngAdrs & IIf(FrstRngAdrs <> "", ",", "") & Cells(Rng.Row, Rng.Column - 1).Address
                            Set FrstRng = Range(FrstRngAdrs)
                            
                            LstRngAdrs = LstRngAdrs & IIf(LstRngAdrs <> "", ",", "") & Rng.Address
                            Set LstRng = Range(LstRngAdrs)
                        
                              
                               If I = 1 Then
                               ClOfst = ((Year(Cells(Rng.Row, Rng.Column - 1).Value) - Rngyy.Value) * 12) + Month(Cells(Rng.Row, Rng.Column - 1).Value) + Rngyy.Column - 1
                               Cl = ((Year(Rng.Value) - Rngyy.Value) * 12) + Month(Rng.Value) + Rngyy.Column
                               CN = IIf(Cl - ClOfst > 0, Cl - ClOfst, 1)
                                    If Rng.Value <> "" Then
                                         CondRngOldAdrs = CondRngOldAdrs & IIf(CondRngOldAdrs <> "", ",", "") & Cells(Rng.Row, ClOfst).Resize(1, CN).Address
                                         Set CondRngOld = Range(CondRngOldAdrs)
                                         Set FrstCllOld = CondRngOld.Cells(1, 1)
                                         Set LstCllOld = CondRngOld.Cells(1, CondRngOld.Columns.Count)
                                     End If
                               Else
                               ClOfst = ((Year(Cells(Rng.Row, Rng.Column - 1).Value) - Rngyy.Value) * 12) + Month(Cells(Rng.Row, Rng.Column - 1).Value) + Rngyy.Column - 1
                               Cl = ((Year(Rng.Value) - Rngyy.Value) * 12) + Month(Rng.Value) + Rngyy.Column
                               CN = IIf(Cl - ClOfst > 0, Cl - ClOfst, 1)
                                       If Rng.Value <> "" Then
                                       CondRngNewAdrs = CondRngNewAdrs & IIf(CondRngNewAdrs <> "", ",", "") & Cells(Rng.Row, ClOfst).Resize(1, CN).Address
                                       Set CondRngNew = Range(CondRngNewAdrs)
                                     End If
                               End If
                        Else
                        
                            FrstRngAdrs = FrstRngAdrs & IIf(FrstRngAdrs <> "", ",", "") & Rng.Address
                            Set FrstRng = Range(FrstRngAdrs)
                            
                            LstRngAdrs = LstRngAdrs & IIf(LstRngAdrs <> "", ",", "") & Cells(Rng.Row, Rng.Column + 1).Address
                            Set LstRng = Range(LstRngAdrs)
                            
                                If I = 1 Then
                                    Cl = ((Year(Rng.Value) - Rngyy.Value) * 12) + Month(Rng.Value) + Rngyy.Column - 1
                                    ClOfst = ((Year(Cells(Rng.Row, Rng.Column + 1).Value) - Rngyy.Value) * 12) + Month(Cells(Rng.Row, Rng.Column + 1).Value) + Rngyy.Column
                                    CN = IIf(ClOfst - Cl > 0, ClOfst - Cl, 1)
                                   If Rng.Value <> "" Then
                                         CondRngOldAdrs = CondRngOldAdrs & IIf(CondRngOldAdrs <> "", ",", "") & Cells(Rng.Row, Cl).Resize(1, CN).Address
                                        Set CondRngOld = Range(CondRngOldAdrs)
                                        
                                End If
                                   Else
                                        Cl = ((Year(Rng.Value) - Rngyy.Value) * 12) + Month(Rng.Value) + Rngyy.Column - 1
                                        ClOfst = ((Year(Cells(Rng.Row, Rng.Column + 1).Value) - Rngyy.Value) * 12) + Month(Cells(Rng.Row, Rng.Column + 1).Value) + Rngyy.Column
                                        CN = IIf(ClOfst - Cl > 0, ClOfst - Cl, 1)
                                       If Rng.Value <> "" Then
                                       CondRngNewAdrs = CondRngNewAdrs & IIf(CondRngNewAdrs <> "", ",", "") & Cells(Rng.Row, Cl).Resize(1, CN).Address
                                       Set CondRngNew = Range(CondRngNewAdrs)
                                       End If
                                   End If
                        RN = Rng.Row
                        End If 'If ClNum Mod
                        If C = 1 Then
                        Else
                        End If
                        
                    Next 'Rng
                    
                Next C
        Next I
      
       If Not CondRngOld Is Nothing Then
        For Each Cll In CondRngOld
            With Cll
                .Interior.Pattern = xlNone
                .ClearContents
            End With
        Next Cll
        End If
        ArrFC = Split(FrstRng.Address, ",")
        ArrLC = Split(LstRng.Address, ",")
        If Not CondRngNew Is Nothing Then
        ArrRng = Split(CondRngNew.Address, ",")
        For Ar = LBound(ArrRng) To UBound(ArrRng)
        For Each Cll In Range(ArrRng(Ar))
            With Cll
           I = (WorksheetFunction.Ceiling((Range(ArrFC(Ar)).Column - Columns("B:G").Column), 2) / 2)  ' Color Index
           'I = WorksheetFunction.Ceiling((Range(ArrLC(Ar)).Column - Columns("B:G").Column), 2) / 2 ' Color Index
          
                    If Cll.Address = Range(ArrRng(Ar)).Cells(1, 1).Address Then
                    Cll.Value = Day(Range(ArrFC(Ar)).Value)
                    FrstCllClr Cll, FrstRng(Cll.Row - CondRngNew.Row + 1).Value, I
                    ElseIf Cll.Address = Range(ArrRng(Ar)).Cells(Range(ArrRng(Ar)).Rows.Count, Range(ArrRng(Ar)).Columns.Count).Address Then
                    Cll.Value = Day(Range(ArrLC(Ar)).Value)
                    LstCllClr Cll, LstRng(Cll.Row - CondRngNew.Row + 1).Value, I
                    Else
                        InBtnCllClr Cll, I
                    End If
                    
            End With
        Next Cll
        Next Ar
        End If
        
        
    AC.Activate
    End If
Application.EnableEvents = True
Application.ScreenUpdating = True
On Error GoTo 0
End Sub
Public Sub FrstCllClr(Cll As Range, RngDate As Date, ClrIndx As Long)
Dim Md As Long, D As Long, P As Single
Dim ClrArr As Variant
Dim Clr1  As Long, Clr2  As Long, Clr3 As Long

   Md = Day(DateSerial(Year(RngDate), Month(RngDate) + 1, 1) - 1)
   D = Day(RngDate)
   P = 1 - Round(D / Md, 2)
  
   Clr1 = RGB(255, 137, 137)
   Clr2 = RGB(170, 210, 140)
   Clr3 = RGB(0, 173, 234)
   ClrArr = Array(Clr1, Clr2, Clr3)
       With Cll.Interior
           .Pattern = xlPatternLinearGradient
           .Gradient.Degree = 180
           .Gradient.ColorStops.Clear
           .Gradient.ColorStops.Add(0).Color = ClrArr(ClrIndx)
           .Gradient.ColorStops.Add(P).Color = ClrArr(ClrIndx)
           .Gradient.ColorStops.Add(P + 0.01).Color = RGB(255, 255, 255)
           .Gradient.ColorStops.Add(1).Color = RGB(255, 255, 255)
       End With

End Sub
Public Sub LstCllClr(Cll As Range, RngDate As Date, ClrIndx As Long)
Dim Md As Long, D As Long, P As Single
Dim ClrArr As Variant
Dim Clr1  As Long, Clr2  As Long, Clr3 As Long

   Md = Day(DateSerial(Year(RngDate), Month(RngDate) + 1, 1) - 1)
   D = Day(RngDate)
   P = 1 - Round(D / Md, 2)
   Clr1 = RGB(255, 137, 137)
   Clr2 = RGB(170, 210, 140)
   Clr3 = RGB(0, 173, 234)
   ClrArr = Array(Clr1, Clr2, Clr3)
       With Cll.Interior
           .Pattern = xlPatternLinearGradient
           .Gradient.Degree = 180
           .Gradient.ColorStops.Clear
           .Gradient.ColorStops.Add(0).Color = RGB(255, 255, 255)
           .Gradient.ColorStops.Add(P).Color = RGB(255, 255, 255)
           .Gradient.ColorStops.Add(P + 0.01).Color = ClrArr(ClrIndx)
           .Gradient.ColorStops.Add(1).Color = ClrArr(ClrIndx)
       End With

End Sub
Public Sub InBtnCllClr(Cll As Range, ClrIndx As Long)
Dim ClrArr As Variant
Dim Clr1  As Long, Clr2  As Long, Clr3 As Long
   Clr1 = RGB(255, 137, 137)
   Clr2 = RGB(170, 210, 140)
   Clr3 = RGB(0, 173, 234)
   ClrArr = Array(Clr1, Clr2, Clr3)
       With Cll.Interior
           .Pattern = xlSolid
           .Color = ClrArr(ClrIndx)
       End With

End Sub
 
Upvote 0

Forum statistics

Threads
1,214,786
Messages
6,121,546
Members
449,038
Latest member
Guest1337

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