ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何让日历控件只在指定的单元格才可以显示?

如何让日历控件只在指定的单元格才可以显示?

作者:绿色风 分类: 时间:2022-08-17 浏览:85
楼主
zzmxy
Q: 我现在的文档中,日历控件是在整列出现,即当鼠标点击C列时,可以显示出来,供选择日期,     我想修改为只在指定的某个单元格才显示,如H3单元格!






A: 按Alt+F11,将原文档的代码如下修改即可,主要就是将Target的Address作一个限制,修改为与自己期望的单元格一致。
也就是说,把原来的“ If Target.Column = 3”改为: “If Target.Address = "$H$3" ”


  1. Private Sub DTPicker1_CloseUp()
  2.     '禁用事件,在将DTP控件的值更新到单元格时,防止Worksheet_Change被误激活
  3.     Application.EnableEvents = False
  4.     ActiveCell.Value = Me.DTPicker1.Value
  5.     Me.DTPicker1.Visible = False
  6.     '启用事件
  7.     Application.EnableEvents = True
  8. End Sub

  9. Private Sub Worksheet_Change(ByVal Target As Range)
  10.     '判断是否只选中了单个单元格
  11.     If Target.Count = 1 Then
  12.         '如果删除第三列的单元格内容,则隐藏DTP控件
  13.         If Target.Address = "$H$3" And Target = "" Then
  14.             Me.DTPicker1.Visible = False
  15.         End If
  16.     End If
  17. End Sub

  18. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  19.     If Target.Count = 1 Then
  20.     Application.EnableEvents = False
  21.         If Target.Address = "$H$3" Then
  22.             With Me.DTPicker1
  23.                 .Visible = True
  24.                 '调整DTP控件的位置,使其显示在当前单元格之中
  25.                 .Top = Target.Top
  26.                 .Left = Target.Left
  27.                 If Target <> "" Then
  28.                     '如果当前单元格已有内容,则设置DTP控件初始值为当前单元格日期,否则为系统当前日期
  29.                     .Value = Target.Value
  30.                 Else
  31.                     ActiveCell.Value = Date
  32.                 End If
  33.             End With
  34.         Else
  35.             Me.DTPicker1.Visible = False
  36.         End If
  37.         Application.EnableEvents = True
  38.     End If
  39. End Sub





技巧343 利用日期控件输入时间.rar
2楼
fupeng424
在不断的搜索下终于找到了这篇文章,十分感谢楼主的分享,在这里想向楼主寻求帮助,能否在同一表格当中实现两个或多个指定单元格日历控件显示,并随单元格调整而变化大小。本人不懂编程,希望楼主不吝赐教,谢谢!截图.jpg
 

如何让日历控件只在指定的单元格才可以显示.rar
Excel日历控件.rar
3楼
fupeng424
楼主你好!在你示例的帮助下,我终于把想要的结果憋出来了,
在这里谢谢楼主的源代码了,本人不懂编程也不懂宏和什么VBA之类的东西,就是想要做一些自己觉得有趣的事情。在工作当中用到了日期控件。这才满世界的翻腾,在楼主这里找到了解决的方法及结果。再次谢谢并将作业交上,烦请楼主做一修改及指证。
Excel日历控件.rar
4楼
菩提子
大家好
我现在要在指定单元格  自动出现系统当前的日期与时间

请问应该如何处理,我摸索着用楼主的方式,结果出现不了

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap