【问题标题】:I would like to create a counter that would increase +1 everytime when the user opens up the userform我想创建一个计数器,每次用户打开用户表单时都会增加 +1
【发布时间】:2019-12-19 09:06:09
【问题描述】:

[

我可以让文本框显示一个数字,每次用户打开用户表单时都会自动增加 + 1?

【问题讨论】:

  • 只需定义全局变量并在表单初始化事件中使用它。
  • 你能举个例子吗?

标签: excel vba unique


【解决方案1】:

最简单的方法是定义一个计算表单打开的全局变量。我假设您在代码中的某处调用了UserForm.Show,因此我将定义处理“打开逻辑”的方法。

我会这样做:

' Global variable
Private counter As Long

' Change calls of UserForm.Show to this method
Sub ShowUserForm()
    ' Increment counter
    counter = counter + 1
    UserForm1.Label1.Caption = counter
    UserForm1.Show
End Sub

【讨论】:

  • 赞成,但可能有一句话:关闭/打开工作簿时变量丢失。另一种真正确保数字每次都增加的方法是将值分配给单元格。但是,OP 可能希望在任何这种情况下重新开始计数 =)
  • @JvdV 确实,你是对的,我更想解决问题并让 OP 找到最好的方法——另一种方法是在表单上尝试使用全局变量,但只要表格关闭它将丢失。好吧,它可能会以多种方式丢失,只有写入单元格是解决它的简单方法。更优雅的方式需要额外的类来处理用户表单。
猜你喜欢
  • 2018-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 2020-05-02
相关资源
最近更新 更多