我在Sheet 1上添加了一个日期选择器12.0,并希望它能够在表2和表3中工作。
以下代码仅适用于工作表1的第3列和第6列,但是当我单击工作表2或工作表3中的第3列和第6列时,不会显示日期选择器。
请帮助,谢谢你!
Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
Calendar1.Visible = False
Calendar1.Value = Date
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 3 And Target.Column <> 6 Then Calendar1.Visible = fales: Exit Sub
Calendar1.Top = (Target.Row - 1) * 16.5
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + 80
Calendar1.Visible = True
End Sub
答案 0 :(得分:0)
将此代码放在Workbook
模块
选项明确
Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
Calendar1.Visible = False
Calendar1.Value = Date
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column <> 3 And Target.Column <> 6 Then
Calendar1.Visible = False
Exit Sub
Else
Calendar1.Top = (Target.Row - 1) * 16.5
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + 80
Calendar1.Visible = True
End If
End Sub
答案 1 :(得分:0)
假设Calendar1可用于其他工作表,则在Workbook_SheetSelectionChange
中包含您的事件触发器,如下所示:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column <> 3 And Target.Column <> 6 Then Calendar1.Visible = False: Exit Sub
Calendar1.Top = (Target.Row - 1) * 16.5
Calendar1.Top = Target.Top
Calendar1.Left = Target.Left + 80
Calendar1.Visible = True
End Sub
此致