EXCEL每日签到VBA

EXCEL每日签到VBA,第1张

你会编么还是需要握咐思路呀? 还是直接需要这样的程序?

你可以用一个表专门用来保存签到的段余纯数据(记录日期),每天点一下就记录就好毁渣了呀,然后在OPEN 里面写代码判断其是否有断开过嘛也是就是当天之前的天数是否有不连续的,如果有就全部清除数据就好了吧

【答案更新如下】:

Private Sub CommandButton1_Click() '按钮1的点击事件

  '获取文件框的值

  Dim iStr$

  iStr = ActiveSheet.TextBox1.Value

  If iStr = "" Then MsgBox "姓名不能为空!", 16: Exit Sub '退出sub

  'tf的初始值为False,判断出下面三种需要启用新行的情况,并标记为tf=True

  Dim g As Range, tf As Boolean, irow&, icol%

  Set g = Columns("D").Find(iStr, , , xlWhole, , xlPrevious) '在D列逆洞唯向精确查找

  If g Is Nothing Then '如果没查找到

      tf = True '如果D列不存在该姓名,则标记为tf=True

  Else

      irow = g.Row '获取单元格g的行号

      If DateValue(Range("E" &irow).Value) <>Date Then

          tf = True '如果该行E格的日期不等于今天日期,则标记为tf=True

      Else

          icol = g.End(2).Column + 1 '获取单元格g的右界的列号+1

          If icol >Columns("F").Column Then

              tf = True '如果icol已超出F列的列序号,则标记为tf=True

          End If

      End If

  End If

 纳磨培 '若tf的值为True,则对irow和icol重新赋值

  If tf Then

      irow = Range("D" &Rows.Count).End(3).Row + 1 '重新赋值irow=D列最大行号+1

      icol = Columns("E").Column '重新赋值icol,获取E列的列序号游笑

  End If

  '输出日期时间,并设置格式和边框线

  Range("D" &irow) = iStr '输出姓名

  Cells(irow, icol).NumberFormatLocal = "yyyy/m/dd h:mm:ss" '设置格式

  Cells(irow, icol).Value = Now '输出当前的日期时间

  Range("D" &irow &":F" &irow).Borders.LineStyle = xlContinuous  '添加框线

  MsgBox "打卡成功!", 64

End Sub

  1、打开数字签名页面:如下图,点击左上角的excel2007的图标,然后选择“准备”,在d出的选项列表中选择“添加数字签名”。

 2、通过office服务提示:如下图,d出的窗口是提示用户,office的数字签名的法律效力在不同的国家具有不同的法力效力,点击“确定”。

3、数字签名页面设置:如下图,在“签署此文档的目的枯高(P)”下面的方框中输入为此文档签署数字签名的目的。

4、保存数字签名的识别码没答尺:如下图,把数字签名的识别码保存下来,可以截屏保存为图片,并存放于固定的文件夹,也可以用txt文档等保存!当怀疑别人修改了发出去的文档举消时,就可以检校别人手中的文档的识别码是否和保存的一致,如果别的文档没有识别码或者识别码不一致,则可以认定发出去的文档已经被篡改了。

   5、查看数字签名:文档完成数字签名后,一般会在文档的右边窗口显示已经添加的数字签名的识别码和签名日期。如果不显示的话,则可以按如下的方法查看。如下图:

6、此时数字签名的识别码会出现在右边的方框内。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12359255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存