【问题标题】:Find a duplicate entry and show notification查找重复条目并显示通知
【发布时间】:2015-02-02 03:37:23
【问题描述】:

我有一个 Excel 表,它在登录用户表单的帮助下记录了员工的登录详细信息。 我想让 Excel 做的是当员工点击登录按钮时, Excel 应搜索工作表上的日期并检查其旁边的单元格以验证员工今天是否已登录。 如果是,则显示一个消息框并结束程序, 否则运行我的代码来存储登录详细信息。您可以在下面看到我的员工登录详细信息是如何记录在我的登录详细信息表上的。

NAME OF EMPLOYEE    DATE        TIME

Employee 1          02-02-15    09:05
Employee 2          02-02-15    09:10

Sub finddate()
With Worksheets("Sheet1").Range("b1:b500")
    Set c = .Find(Date, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
           MsgBox c.Offset(0, -1).Value
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
    
End With

End Sub

我使用了上面的代码。它让我在消息框中获取今天登录的员工的姓名。请告诉我如何将此流程与我的用户表单集成,它将检查员工是否已经登录。

【问题讨论】:

  • 我认为您应该搜索员工列,然后比较它的对应日期,如果等于今天。您可以使用返回Range ObjectRange Find Method,也可以使用循环。如果遇到困难,请尝试一下并在此处发布您尝试过的解决方案。
  • @L42 对不起,我还是 excel 新手...你能帮我写代码吗?
  • 尝试使用此示例 msdn.microsoft.com/en-us/library/office/… 然后像 L42 说的那样粘贴一些代码,如果这不起作用。 SO 不会为您完成这项工作,请在寻求帮助之前尝试一下
  • 更新您的问题而不是评论,这很难阅读。还告诉我们什么有效,什么无效以及您正在尝试做什么
  • @phil652 对不起....现在看到问题。我只能在消息框中获取今天已经登录 i 的员工的姓名!

标签: vba excel


【解决方案1】:

在您的表单中双击登录按钮,您应该能够看到代码在哪里。然后调用函数

Private Sub LoginButton_Click()
   Call finddate
End Sub

【讨论】:

  • 这不是只给我消息框而不阻止我运行更多代码部分吗?
  • 可以,但您可以添加if user alreadyLoggedIn = true then Unload Me
  • 应该在登录按钮代码中添加吗? “if user alreadyLoggedIn = true”是可以使用的代码吗?
  • 如果您不创建变量,则不会。这只是伪代码。在您的 msgbox 告诉您用户已经登录后,您可以添加 Unload Me 以关闭表单,这样用户就不能再进一步了。如果您希望表单保持打开状态,您可以使用Exit Sub
  • Exit Sub 将在找到消息框后立即关闭停止程序。在 3 名员工已登录并且第 4 名员工正在单击登录按钮的情况下,它还会向他显示消息框,说明员工 1 已经登录,然后停止表单>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 2013-03-11
  • 2011-05-30
  • 1970-01-01
相关资源
最近更新 更多