2013-04-15 91 views
0

我无法观察运行时间内完成的行数。因此我在想,为什么不出来几行代码来显示在运行时间内完成的行数。VBA:显示在运行时间内完成的行号

关注是我的实现:

Dim ownCntrl As Control 
Set ownCntrl = UserForm1.Controls.Add("Forms.TextBox.1") 
With ownCntrl 
    .Name = "RowNoTextBox" 
    .Value = "test" 
    .Width = 150 
    .Height = 25 
    .Top = 10 
    .Left = 10 
    .ZOrder (0) 
End With 
UserForm1.Show 

以下是我的疑问:

1)除了框对象,还有没有其他的对象像Java中的标签在VBA来显示信息?

2)没有最初创建一个名为“UserForm1”的UserForm,我可以在运行时直接创建TextBox对象或其他合适的对象吗?原因,没有称为UserForm1.Show函数,文本框对象不会显示

3)如何保持用户窗体或文本框在运行时显示,而无需用户的交互来关闭它继续?

我刚开始学习VBA。感谢你们的建议。非常感谢。

+0

是您的目标,以显示进度信息?搜索'进度条'在谷歌或在这里,我已经看到了几种可能性...你想显示哪些信息 - 只有一些文本与数字? –

+0

第三个问题通过调用UserForm1.Show(0) – ShadowScorpion

+0

Hi,KazJaw解决。很高兴见到你。我只想显示运行期间在文本框或标签中完成的行数。全部是 – ShadowScorpion

回答

1

根据放置在注释中的一些额外信息,保留子程序进度信息的最简单方法是使用Excel状态栏。因此,我们把我们的子程序这样的范围内:

Application.StatusBar = "Current progress- Row No.: " & rowNum 

其中rowNum是一个变量(循环变量),代表当前行。 这是重要的 - 你需要返回标准状态栏行为调用你的程序结束之前这条线:

Application.StatusBar = False