Msgbox框不会出现在选择更改上,并且不能通过单击“确定”按钮消失

时间:2019-02-01 21:49:53

标签: excel vba

直到我单击目标地址进行更改然后转到另一个单元格进行更改然后再返回到目标地址后,该框才会出现。

我试图制作一个自定义对话框,以使其显示在目标单元格上方,但无法使其正常工作。在DTPicker1的其余代码中,也会发生相同的情况。一旦选择了目标范围地址,就不会发生格式更改,直到我移至下一个单元格进行更改,然后返回并再次单击这些单元格。不知道该如何解决所附的代码:

Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode as Integer, ByVal Shift 
   as Integer, ByVal Callbackfield as String, ByVal CallbackDate as Date)

End Sub

Private Sub Worksheet_Selectionchange(ByVal Target as Range)
    If not Intersect(Target, Range("a3")) is nothing then
        Msgbox (“To change the date/time, Select the number and use the arrows.”)
    End if 
    With Sheet1.DTPicker1
        .Height = 20
        .Width = 125
        .Format = dtpCustom
        .CustomFormat = "ddHHmmZMMMyy"
    If Not intersect(Target, Range("a3:a502")) is nothing then
        .Visible = True
        .Top = Target.Top
        .Left = Target.offset(0,1).left
        .Linkedcell = Target.address
        Me.Range(DTPicker1.LinkedCell)= Format(DTPicker1.value,Me.Range("a3").NumberFormat)
    Else
        .Visible = False
    End If 
    End With
    If not intersect(Target, Range("b3:b502")) is nothing then 
        Randomize
        Target.value=StaticRand()
    End if
    If not intersect(Target, Range("c3:c502")) is nothing then
        Randomize
        Target.Value = Int((6-1+1)* StaticRand+1)
            If Range("b3").value < 0.25 then
            Target.value =target.value & "NO COVERAGE"
    End if
    End if

预期结果是单击该单元格,启用DTPicker1,然后单击该单元格以正确的格式输入更改。该单元仅在从执行另一个单元返回然后返回原始单元之后才更改。

0 个答案:

没有答案