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]。

9
如何在单元格和循环中使用Microsoft Excel中的正则表达式(Regex)
如何在Excel中使用正则表达式并利用Excel强大的类似于网格的设置进行数据处理? 单元内函数可返回匹配的模式或字符串中的替换值。 Sub循环遍历一列数据并提取与相邻单元格的匹配项。 需要什么设置? Excel正则表达式的特殊字符是什么? 我的理解正则表达式是不理想的许多情况下(使用或不使用正则表达式?),因为Excel可以使用Left,Mid,Right,Instr类似的操作类型的命令。
592 regex  excel  vba 

15
如何避免在Excel VBA中使用选择
我已经听到很多有关.Select在Excel VBA 中使用可理解的厌恶的信息,但是不确定如何避免使用它。我发现如果我能够使用变量而不是Select函数,那么我的代码将更可重用。但是,ActiveCell如果不使用,我不确定如何引用事物(例如,等等)Select。 我发现这篇文章的范围,并在不使用选择的好处这个例子中,但无法找到任何东西怎么样?
537 excel  vba 






6
使用VBA循环浏览文件夹中的文件?
我想使用浏览目录的文件 vba 在Excel 2010中。 在循环中,我将需要: 文件名,以及 文件格式化的日期。 我对以下代码进行了编码,如果该文件夹中的文件不超过50个,则可以正常工作,否则运行速度非常慢(我需要使用它处理包含10000个以上文件的文件夹)。该代码的唯一问题是查找操作要file.name花费大量时间。 可以运行但太慢的代码(每100个文件15秒): Sub LoopThroughFiles() Dim MyObj As Object, MySource As Object, file As Variant Set MySource = MyObj.GetFolder("c:\testfolder\") For Each file In MySource.Files If InStr(file.name, "test") > 0 Then MsgBox "found" Exit Sub End If Next file End Sub 问题解决了: 我的问题已通过以下解决方案Dir以特定方式使用(对于15000个文件为20秒)并使用命令检查时间戳来解决FileDateTime。 考虑到另一个答案,从20秒以下减少到不到1秒。
236 excel  vba 


9
Visual Basic 6.0和VBA之间的区别
两者有什么区别。我一直认为VBA是VB的“残废”版本,但是有一天,当朋友问我时,我不知道实际的区别是什么。 此外,例如在使用Excel时,是VB还是VBA?
208 vba  vb6 

3
Excel VBA-退出循环
我想for在满足内部条件时退出循环。满足条件后如何退出for循环if?我认为我的if发言结束时会有某种退出,但不知道那将如何工作。 Dim i As Long For i = 1 To 50 Range("B" & i).Select If Range("B" & i).Value = "Artikel" Then Dim temp As Long temp = i End If Next i Range("A1:Z" & temp - 1).EntireRow.Delete Shift:=xlToLeft
181 excel  vba  for-loop 


6
.text,.value和.value2有什么区别?
我没有要求任何脚本的帮助,但我的问题是要澄清。最近,我在Excel中做了很多VB脚本编写工作,因此我在这个问题上确实指的是Excel。.text,.value和.value2有什么区别?就像我什么时候应该使用target.text,target.value和target.value2?我从未使用过value2选项,但仍然想知道它的用途。 有时,如果我使用.text,则会出现错误,并且仅在检查或操作单元格中的文本时需要使用.value。然后有时当我认为我应该使用.value时出现错误,我需要使用.text。通常,它接受一个问题或不提出任何问题,但有时确实会有所作为。我知道必须有一些逻辑,但是我似乎无法弄清楚。 我还发现,如果不指定.text或.value就将其保留为目标,则它最初会起作用,但随后某人做的某件事最终会导致脚本出错,因此始终最好在上面使用.something 。我想我要问的是,是否有人可以给我一些指导方针,即如何正确使用每项准则以及何时需要使用的准则。 谢谢你们的解释。我有点了解。它们都是很好的解释。以下是我的一些有效代码的小示例。我以为它应该是target.text,但是会出错,所以当我使用target.value时它可以工作。 If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then Target.Value = "Higher Level Outage" End If 我仍然有些困惑,因为当我想到value或value2时,尤其是在您提供了答案之后,我认为它们应该仅用于数字。但是,在我的示例中,我所指的是严格的文本,这是我的脚本所指的很多内容(单元格中的文本,而不是数字)。
179 excel  vba 



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.