标签: vba

如何在VBA中声明全局变量?

我写了以下代码:

Function find_results_idle()

    Public iRaw As Integer
    Public iColumn As Integer
    iRaw = 1
    iColumn = 1
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

"Sub或Function中的无效属性"

你知道我做错了吗?

我尝试使用Global而不是Public,但遇到了同样的问题.

我试图将函数本身声明为`Public,但这也没有用.

创建全局变量需要做什么?

excel vba scope global-variables

128
推荐指数
5
解决办法
96万
查看次数

编辑Microsoft Office VBA时,如何禁用弹出的"编译错误"消息?

在编辑Microsoft Office VBA宏或函数时,通常会将光标从尚未完成的行移开.例如,要复制要粘贴到该行的内容.但是,如果该部分行在语法上不合法,则VBA编辑器会通过弹出必须被解除的"编译错误"消息来中断您的工作.

有没有办法禁用消息框?我发现它很烦人......

(这适用于Excel Visual Basic for Applications,Outlook VBA,Word VBA等)

vba editor

123
推荐指数
2
解决办法
4万
查看次数

VB真的不区分大小写吗?

我不是试图在这里开始论证,但无论出于何种原因,它通常表明Visual Basic不区分大小写,C语言不是(并且不知何故这是一件好事).

但这是我的问题:Visual Basic在哪里确实不区分大小写?当我输入...

Dim ss As String
Dim SS As String
Run Code Online (Sandbox Code Playgroud)

...进入Visual Studio 2008Visual Studio 2010 IDE,第二个警告" 已在当前块中声明了局部变量SS ".在VBA VBE中,它不会立即引发错误,而只是自动更正案例.

我在这里错过了一些关于Visual Basic不区分大小写的论点吗?(另外,如果你知道或想要回答,为什么这会是一件坏事?)

为什么我甚至都会问这个问题?

我已经在很多方言中使用过Visual Basic多年了,有时作为业余爱好者,有时候用于工作组中的小型商业相关程序.截至过去六个月,我一直致力于一个比我预期的大得多的大项目.许多示例源代码都在C#中.我没有任何学习C#的强烈愿望,但如果有些东西我错过了C#提供的Visual Basic没有(相反的是VB.NET提供XML Literals),那么我想了解有关该功能的更多信息.所以在这种情况下,经常认为C语言是区分大小写的,这很好,Visual Basic不区分大小写,这很糟糕.我想知道...

  1. Visual Basic如何区分大小写,因为代码编辑器中的每个示例都变得区分大小写(意味着案例得到纠正),无论我是否需要它
  2. 如果VB.NET案例在某种程度上限制了我可以用代码做什么,这对我来说是否足以让我考虑转移到C#?

vb.net vba case-sensitive case-insensitive

119
推荐指数
6
解决办法
5万
查看次数

在VBA中声明和初始化字符串数组

这应该根据另一个堆栈溢出帖子工作,但它不是:

Dim arrWsNames As String() = {"Value1", "Value2"}
Run Code Online (Sandbox Code Playgroud)

任何人都可以让我知道什么是错的?

arrays vba initialization

119
推荐指数
5
解决办法
62万
查看次数

在Excel中显示毫秒数

我试图在Excel宏中显示毫秒.我有一个整数列,它们是以毫秒为单位的时间戳(例如28095200是7:48:15.200 am),我想在它旁边创建一个新列,它保持运行平均值并以hh:mm:ss.000格式显示时间.

 Dim Cel As Range
 Set Cel = Range("B1")
 temp = Application.Average(Range("A1:A2")) / 1000
 ms = Round(temp - Int(temp), 2) * 1000
 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
                & "." & Strings.Format(ms, "#000")
Run Code Online (Sandbox Code Playgroud)

这只在单元格中显示"mm:ss.0".然而,当我点击单元格时,它会在公式栏中显示"hh:mm:ss".为什么缺少时间?如何显示小时,分钟,秒和毫秒?

excel time vba

115
推荐指数
2
解决办法
23万
查看次数

在VBA中删除文件

使用VBA,我该怎么做:

  1. 测试文件是否存在,如果存在,
  2. 删除它?

file-io vba file-exists delete-file

114
推荐指数
6
解决办法
44万
查看次数

Microsoft Excel ActiveX控件已禁用?

我有一些Excel工作表,使用ActiveX复选框来控制某些活动.他们最近工作但今天开始出错.我被一位同事告知了这一点,但它仍然在我的电脑上工作.我检查了他对我的Excel版本,他更新了.我注意到有新的Windows更新,所以我做了更新.应用挂起的更新后,它现在不再适用于我的计算机.我不能再检查ActiveX复选框了,并且,作为尝试调试的一部分,似乎我甚至无法将ActiveX控件添加到任何工作表,甚至是新的工作表.我收到一个错误对话框,上面写着"无法插入对象".(我仍然可以添加表单控件,而不是ActiveX.)最近更新后遇到此问题的其他人?有什么建议?

谢谢,

麦克风

excel vba activex

111
推荐指数
5
解决办法
24万
查看次数

如何使用VBA创建和写入txt文件

我有一个文件,根据输入手动添加或修改.由于大多数内容在该文件中都是重复的,因此只有十六进制值发生变化,我想将其作为工具生成的文件.

我想编写将在.txt文件中打印的c代码.

使用VBA 创建.txt文件的命令是什么,以及如何写入它

vba text-files

110
推荐指数
4
解决办法
45万
查看次数

在Excel中循环遍历范围的每一行

这是我确定有一个内置功能的东西之一(我过去可能已经被告知过了),但我正在摸不着想要记住它.

如何使用Excel VBA循环遍历多列范围的每一行?我一直在搜索的所有教程似乎只提到在一维范围内工作......

excel vba loops excel-2003

107
推荐指数
4
解决办法
38万
查看次数

如何在VBA中使用FileSystemObject?

有什么我需要参考的吗?我该如何使用:

Dim fso As New FileSystemObject
Dim fld As Folder
Dim ts As TextStream
Run Code Online (Sandbox Code Playgroud)

我收到错误,因为它无法识别这些对象.

excel vba filesystemobject

105
推荐指数
3
解决办法
33万
查看次数