前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel实战技巧106:创建交互式的日历

Excel实战技巧106:创建交互式的日历

作者头像
fanjy
发布2021-07-30 10:01:57
1.1K0
发布2021-07-30 10:01:57
举报
文章被收录于专栏:完美Excel完美Excel

引子:本文的内容整理自chandoo.org,略有调整。主要是学习作者制作这样一个工作簿的思路和做法,以及运用的Excel技术技巧,当然这个工作簿也有一些局限,例如,在同一个地方只能安排连续的2天,这是需要进一步改进的地方。

Excel的常见用途之一是维护事件、安排或其他日历相关内容的列表。我们可以使用一些想象力以及条件格式、少量的公式和几行VBA代码,在Excel中创建一个流畅的交互式日历,使信息可视化。

首先,给出这个交互式日历的演示,如下图1所示。

图1

1.在表中收集所有事件数据,如下图2所示。

图2

2.创建日历

示例中,所有的事项都安排在2021年5月和6月,于是只需手动创建这两个月的日历,如下图3所示。

图3

3.命名日历单元格区域

选择日历单元格区域,将其命名为“calendar”。

4.指定某单元格来识别所选择的日期

在工作簿中选择一个空单元格,将其命名为“selectedCell”,该单元格将用于识别用户选择的日期。

5.编写事件代码

当用户在“calendar”区域中选择某单元格时,代码将识别所选单元格。

代码语言:javascript
复制
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("calendar")) Is Nothing Then
      [selectedCell] = ActiveCell.Value
    End If
End Sub

6.创建公式,当选择有效日期时显示详细情况

每件事有与之相关的4个详细信息:标题、日期、地点和详细情况描述。当用户选择日历中的日期时,显示事情的详情。由于所选的日期在“selectedCell”中,我们使用VLOOKUP、IF、IFERROR来完成:

  • 如果所选日期中有事件,则获取单元格中事件标题,否则为空:=IFERROR(VLOOKUP(selectedCell,table_of_events, event_title_column, false),"")
  • 获取其余的事件详细信息,但如果日期没有事件,则将它们留空。

7.在calendar工作表中,添加4个文本框并将其链接到单元格。

8.设置条件格式来高亮显示所选日期。

9.清理工作表并格式化,以便看起来更简洁清晰。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档