为了帮助那些还没有成功通过关卡的玩家,让我们一起来了解一下具体的解谜方法吧。对于Excel2007来说,我们可以使用VBA来解决问题。下面是具体的操作步骤:
1、打开Excel,点击“开发工具”选项卡,在“控件”组别,找到并点击“插入”,在下拉列表中,点选右下角的“其它控件”,如下图:
2、在弹出的“其他控件”对话框,拖动滚动条到下方,鼠标左键选择“日历控件12.0”,点击“确定”
3、回到工作表,用鼠标左键拖动出来一个日历控件,调整大小和位置,如下图:
4、鼠标左键在“日历控件”上双击,调出VBA编辑器,把下面这段代码复制粘贴到里面
Private Sub Calendar1_Click()
ActiveCell = Format(Calendar1.Value, "yyyy-mm-dd")
Me.Calendar1.Visible = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Row > 1 Then
With Me.Calendar1
.Visible = True
.Top = Target.Top + Target.Height
.Left = Target.Left + Target.Width
.Value = Date
End With
Else
Me.Calendar1.Visible = False
End If
Else
Me.Calendar1.Visible = False
End If
End Sub
其中“ If Target.Column = 1 Then
If Target.Row > 1 Then“为点击第一列即A列除第一行外弹出日历控件,可根据需要进行更改,然后关闭VBA代码编辑器回到工作表
5、鼠标左键点击A2即弹出”日历控件“,根据需要在”控件“上点击要输入的日期即可
Private Sub DTPicker1_Change()
ActiveCell.Value = DTPicker1.Value
DTPicker1.Visible = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Me.DTPicker1
If Target.count=1 then
If Target.Column = 1 And Target.Column =5 Then
.Visible = True
.Width = Target.Width + 15
.Left = Target.Left
.Top = Target.Top
.Height = Target.Height
Else
.Visible = False
End If
else
.Visible = False
end if
End With
End Sub
我经过多次实验,使用这个代码,可以在1和2列上同时使用日历控件了,并且点击其他列也不会出现。
Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
Me.Calendar1.Visible = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column 1 Then (意思是小于并包含2列,并且不包含第一行)
Me.Calendar1.Visible = True
Else
Me.Calendar1.Visible = False (点击其他列不出现)
End If
End Sub
以上是急如何在Excel2003里利用日期控件在某个单元格点选插入日期的详细内容。更多信息请关注PHP中文网其他相关文章!