【发布时间】:2020-12-01 12:55:38
【问题描述】:
我希望当用户在 A 列的单元格中输入值时,应该弹出一个输入框询问时间。我希望 C 列中该输入框的输出与在 A 列中输入值的位置在同一行中。我希望每次在 A 中输入某些内容时都会发生这种情况。
- 如果A1被填满,则询问时间并放入C1。
- 如果A4被填满,则询问时间并放入C4。
如果时间没有输入或输入不正确(hh:mm),我也想要一个消息框,说时间没有正确输入,然后循环回到输入框。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim xRtn As Variant
Set KeyCells = Range("A1:A100")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Do Until Not xRtn = 0 Or Format(xRtn, "hh:mm")
xRtn = Application.InputBox("Wat is de tijd dat het monster genomen is?" & vbNewLine & "Gebruik UU:MM" & vbNewLine & "Voorbeeld: 09:30", "Tijdnotatie")
Columns("C").Value = xRtn
If xRtn = 0 Then
If Not MsgBox("Een correcte tijdsnotatie is nodig om door te gaan. Klik op" & vbNewLine & "<Ok> om de tijd opnieuw in te vullen", vbOK + vbDefaultButton1 + vbExclamation, vbNullString) = vbOK Then
End If
End If
Loop
End If
End Sub
【问题讨论】:
-
为什么不自动输入时间?这将为您省去很多麻烦。
-
因为问题是员工从不输入时间。很多人都试过了,现在我试着把它放到工作表中,这样他们就必须输入时间