Questions tagged «vba»

Visual Basic for Applications(VBA)是一种事件驱动的,面向对象的编程语言,用于编写宏,用于整个Office套件以及其他应用程序。VBA不等同于VB.NET或VBS;如果您在Visual Studio中使用,请使用[vb.net]。如果您的问题是有关对任何MS Office应用程序进行编程的,则还请使用适当的标记:[excel],[ms-access],[ms-word],[outlook]或[ms-project]。

11
Excel VBA App自发停止,并显示消息“代码执行已暂停”
从我在网上看到的情况来看,这是相当普遍的投诉,但答案似乎很少。问题是这样的: 我们有许多Excel VBA应用程序,可以在许多用户的计算机上完美运行。但是,在一台机器上,它们停在某些代码行上。总是相同的线,但是这些线似乎没有任何共同点。 如果在暂停后按F5键(运行),该应用程序将继续运行,因此几乎就像已添加了一个断点。我们尝试从菜单中选择“删除所有休息时间”,甚至添加一个休息时间并再次将其删除。 我们以前在单个应用程序中遇到过这个问题,我们通过从模块中剪切代码,进行编译,然后将其粘贴回等方式来“合并”它。 现在,问题似乎与Excel本身有关,而不是与单个.xls有关,因此我们不确定如何管理此问题。 任何帮助将不胜感激:) 谢谢, 菲利普·惠廷顿
150 excel  vba 





2
编辑Microsoft Office VBA时,如何禁用弹出的“编译错误”消息?
在编辑Microsoft Office VBA宏或函数时,通常会将光标从尚未结束的行上移开。例如,要复制要粘贴到该行的内容。但是,如果该分行在语法上无效,则VBA编辑器会弹出一条“ Compile error”(编译错误)消息,该消息必须取消,从而中断您的工作。 有什么方法可以禁用消息框?我觉得很烦... (这种情况在Excel Visual Basic for Applications,Outlook VBA,Word VBA等中发生)
134 vba  editor 

8
如何在VBA中声明全局变量?
我写了以下代码: Function find_results_idle() Public iRaw As Integer Public iColumn As Integer iRaw = 1 iColumn = 1 我收到错误消息: “ Sub或Function中的无效属性” 你知道我做错了吗? 我尝试使用Global代替Public,但是遇到了同样的问题。 我试图将函数本身声明为`Public,但这也没有好处。 我需要做什么来创建全局变量?


14
VB真的不区分大小写吗?
我不是要在这里开始争论,但是无论出于何种原因,通常都说Visual Basic不区分大小写,而C语言则不(这在某种程度上是件好事)。 但是,这是我的问题:Visual Basic到底不区分大小写的地方是什么?当我键入... Dim ss As String Dim SS As String ...在Visual Studio 2008或Visual Studio 2010 IDE中,第二个警告为“ 当前块中已声明局部变量SS ”。在VBA VBE中,它不会立即引发错误,而是会自动更正情况。 我在这里是否缺少Visual Basic不区分大小写的这种说法?(此外,如果您知道或愿意回答,那为什么会是一件坏事?) 我为什么还要问这个问题? 多年来,我已经在其许多方言中使用Visual Basic,有时是作为爱好者,有时是工作组中与小型企业相关的程序。截至过去六个月,我一直在从事一个大型项目,该项目比我预期的要大得多。C#中有很多示例源代码。我没有强烈的学习C#的愿望,但是如果我错过了C#提供的东西,而Visual Basic没有提供(相反,VB.NET提供了XML Literals),那么我想进一步了解该功能。因此,在这种情况下,经常有人争辩说C语言区分大小写,这很好,而Visual Basic不区分大小写,这是不好的。我想知道... Visual Basic不区分大小写的精确程度是多少,因为无论我是否愿意,代码编辑器中的每个示例都区分大小写(表示大小写已得到纠正)。 如果VB.NET案例以某种方式限制了我对代码的处理能力,这是否足以让我考虑使用C#?

4
在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") 这仅在单元格中显示“ mm:ss.0”。但是,当我单击该单元格时,它在编辑栏中显示“ hh:mm:ss”。为什么缺少时间?如何显示小时,分钟,秒和毫秒?
122 excel  vba  time 


4
循环浏览Excel中范围的每一行
我确信这是其中的一个内置功能(过去我可能已经听说过),但是我为此想尽办法。 如何使用Excel VBA遍历多列范围的每一行?我一直在搜索的所有教程似乎只提到在一维范围内工作...
116 excel  vba  loops  excel-2003 

5
如何使用VBA创建和写入txt文件
我有一个根据输入手动添加或修改的文件。由于该文件中的大多数内容都是重复的,因此只有十六进制值在更改,因此我想使其成为工具生成的文件。 我想编写将在该.txt文件中打印的c代码。 使用VBA 创建.txt文件的命令是什么,如何写入该文件
116 vba  text-files 


22
测试或检查表是否存在
Dim wkbkdestination As Workbook Dim destsheet As Worksheet For Each ThisWorkSheet In wkbkorigin.Worksheets 'this throws subscript out of range if there is not a sheet in the destination 'workbook that has the same name as the current sheet in the origin workbook. Set destsheet = wkbkdestination.Worksheets(ThisWorkSheet.Name) Next 基本上,我遍历原始工作簿中的所有工作表,然后destsheet在目标工作簿中将其设置为与原始工作簿中当前迭代的工作表具有相同名称的工作表。 如何测试该表是否存在?就像是: If …
115 excel  vba  scripting 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.