Excel动态日历:每个国家/地区的银行假日

Excel动态日历:每个国家/地区的银行假日,excel,calendar,Excel,Calendar,早上好 目前项目存在一些问题 我有两张表,其中一张列出了十几个国家的银行假日表(国家如英国,假日如新年,日期如2017年1月1日)。第二张是12个月的日历。selectedCell是holiday表右侧的一个空白单元格,一小段VB提取日历上当前选定的日期。然后,我得到了一个索引公式,列出了选定日期的假日,然后显示在日历的右侧 日历上还有一些条件格式,如果表中列出的人有假日,则突出显示当天。 指向我想在日历上方的下拉列表中显示国家,以便 这可能需要一些改进,我不确定我还能尝试什么,这只是显示了特定

早上好

目前项目存在一些问题

我有两张表,其中一张列出了十几个国家的银行假日表(国家如英国,假日如新年,日期如2017年1月1日)。第二张是12个月的日历。selectedCell是holiday表右侧的一个空白单元格,一小段VB提取日历上当前选定的日期。然后,我得到了一个索引公式,列出了选定日期的假日,然后显示在日历的右侧

日历上还有一些条件格式,如果表中列出的人有假日,则突出显示当天。 指向我想在日历上方的下拉列表中显示国家,以便 这可能需要一些改进,我不确定我还能尝试什么,这只是显示了特定国家的银行假期,而不是所有假期。有人能给我指出正确的方向吗

非常感谢

将此子例程添加到代码中,并在已添加的if条件中的选择更改事件中调用此子例程


然后添加一个组合框创建一个列表值范围并在组合框中引用它从链接单元格中获取值,通过使用列表框值对单元格i5进行偏移来获取国家名称,这将起作用

您可以创建下拉列表框,并根据链接单元格的值编写一个条件,以获取国家的假日。这是我正在努力解决的条件。这不是我在excel中最擅长的领域,我正在努力找出它应该是什么。张贴您用于获取日期的条件我在下面使用,但它突出显示了所有国家的所有假日日期,我不确定如何调整它,以便我可以指定要突出显示银行假日的国家。甚至不知道我是怎么做到的!:=匹配(B7,假日!$C:$C,0)>0use=MATCH(B7和b8,假日!$C:$C和假日!$A:$A,0)>0此处b8应链接到列表框的值…..并使用ctrl+shift+Enter提交公式我也在此处上载了文件检查链接如果您发现答案有用或是您正在寻找的答案…..请确保您将其设置为bext答案并向上投票,我仍然不知道即使使用下载的文件。无论如何,谢谢你今天的帮助
Sub getdates()
Dim dts As Range
Dim cntry As Range
Dim ctry As String
Dim dt As Variant
Dim cell1 As Range
Dim cell2 As Range
Sheets("Holidays").Range("G8:I100").ClearContents

dt = Sheets("Holidays").Range("I4")
ctry = Sheets("Holidays").Range("I5")
lrow = Sheets("Holidays").Range("A2:A" & Rows.Count).End(xlDown).Row
Set dts = Sheets("Holidays").Range("C2:C" & lrow)
Set cntry = Sheets("Holidays").Range("A2:A" & lrow)
i = 8
For Each cell1 In cntry
If cell1.Value = ctry Then
For Each cell2 In dts
If (cell2.Value = dt) And (cell2.Offset(0, -2).Value = ctry) Then
Sheets("Holidays").Range("G" & i).Value = cell2.Offset(0, -2).Value
Sheets("Holidays").Range("H" & i).Value = cell2.Offset(0, -1).Value
Sheets("Holidays").Range("i" & i).Value = cell2.Offset(0, 2).Value
i = i + 1
End If
Next cell2
End If
Next cell1
Sheets("Holidays").Range("G8:I100").RemoveDuplicates &_
Columns:=Array(1, 2, 3), Header:=xlNo
End Sub