Excel日期选择器|如何在Excel中插入日期选择器(日历)?

如何在Excel中插入日期选择器?

要插入下拉日历,我们将使用 ActiveX控件 这是 “ Microsoft日期和时间选择器控件6.0(SP6)”.

您可以在此处下载此日期选择器Excel模板–日期选择器Excel模板

假设我们必须维护公司员工的数据。有几个领域,例如

  • Emp代码
  • Emp名称
  • Emp加入日期
  • Emp部门

为了在MS Excel中输入数据,我们创建了以下格式。

要输入Emp加入日期,我们需要创建一个下拉日历,以便用户输入输入日期更加容易。

要创建下拉日历,请按以下步骤操作-

我们需要插入一个 “ ActiveX控件” 命名 “ Microsoft日期和时间选择器控件6.0(SP6)”。要插入,我们将使用 '插入' 下的命令 “控件” 分组 “开发人员”

如果 “开发人员” 标签不可见,请按照以下步骤使该标签可见。

  • 步骤1: 在下面 '文件' 菜单,选择 '选项'

  • 第2步:一个名为的对话框 “ Excel选项” 将打开。选择 “自定义功能区” 从对话框的左边缘开始。复选框 “开发人员” 标签并点击 '好的'.

  • 第三步:现在我们可以看到 “开发人员” 功能区最后的选项卡。

  • 第4步: 选择 “更多控件” 来自ActiveX控件。

  • 步骤5: 选择 “ Microsoft日期和时间选择器控件6.0(SP6)” 从列表中,然后单击 '好的'.

  • 步骤6: 单击工作表上的任意位置以创建下拉日历。

  • 步骤7: 右键点击 '日期选择器' 然后选择 '特性' 从列表中。

  • 步骤8: 从更改值 '错误的''真的' 为了 “复选框” 属性,以便也可以接受空值。关上 '特性' 对话框。

  • 步骤9: 再次右键单击“日期选择器”,然后选择 “查看代码” 从上下文菜单中。

  • 步骤10: “ Visual Basic编辑器”,我们可以看到已经编写了一些代码。将代码替换为以下代码。

代码:

 具有Sheet1.DTPicker1的Private Sub Worksheet_SelectionChange(ByVal目标作为范围).Height = 20 .Width = 20如果不相交(Target,Range(“ C:C”))则无.Visible = True .Top = Target.Top .Left = Target.Offset(0,1).Left .LinkedCell = Target.Address其他.Visible =假结束(如果以End Sub结尾) 

  • 步骤11: 在代码中的第一个语句告诉MS Excel的编译器运行每当选择了新小区的代码(选择改变)。所选单元格将按以下方式发送到Sub过程 '目标'.
 私人子Worksheet_SelectionChange(ByVal目标作为范围)
  • 步骤12: 这些语句在Excel中将“日期选择器”的高度和宽度设置为20点。可以看出,我们已经使用了 '和' 运算子,因此我们不需要参考 DTPicker1 一次又一次。
 使用Sheet1.DTPicker1 .Height = 20 .Width = 20
  • 步骤13: 以下 '如果' 子句设置了以下条件:如果在 'C' 列,然后日期选择器才可见。我们已经使用 '相交' 函数,因为此函数检查是否在C列中选择了任何单元格,然后此函数将返回地址,否则该值为null。
 如果没有相交(目标,范围(“ C:C”)),那么.Visible = True 
  • 第14步:“热门” 日期选择器的属性设置为等于 '最佳' 选定单元格的属性值。这意味着它将与所选单元格的上边界一起出现。
.Top =目标.Top
  • 步骤15: 此语句将“日期选择器”的left属性设置为等于所选单元格的下一个右单元格的属性(D列的左边框距工作表最左端的距离)。为了获得下一个右单元格的参考,我们使用了 '抵消' 以0作为函数 行参数 和1作为 列参数 因为这将获得对下一列中单元格的引用。
.Left = Target.Offset(0,1).Left
  • 步骤16: 该语句将“日期选择器”与“目标”单元格链接在一起,以便在该单元格中显示的下拉日历中选择任何一个值。
.LinkedCell = Target.Address
  • 步骤17: “ Else”语句告诉编译器在选择“ C中的列”以外的任何其他单元格时不显示“日期选择器”。
其他.Visible = False
  • 步骤18: 最后,我们关闭 '如果'
 万一 
  • 步骤19: 最后,我们需要关闭 '和'
 结束于 
  • 步骤20: 现在,子过程将结束。
 结束子 

确保我们将文件保存为 ‘.xlsm’ 扩展名,因为它可以保存我们编写的VBA代码,并且在C列中选择任何单元格时,我们都可以运行此代码。

现在,无论何时在“ C”列中选择任何单元格,都可以在所选单元格的右上角看到一个下拉日历。我们可以通过单击向下箭头符号来打开下拉日历。

我们需要单击所选月份中日历中的任何日期,以在所选单元格中输入该日期。

我们可以使用日历左侧和右侧的箭头按钮将月份更改为上一个或下一个。

我们还可以单击月份以从下拉菜单中选择月份。

我们还可以通过单击年份,然后使用上下箭头选择所需的年份来更改年份。

要记住的事情

  • “ Microsoft日期和时间选择器控件6.0(SP6)” 不适用于64位版本的MS Excel。
  • 编写VBA代码后,我们需要使用“ .xlsm”(Excel Macro-Enabled Workbook)扩展名保存文件,否则VBA代码将无法运行。