Tag: vba

有什么办法可以加快这个VBAalgorithm吗?

我期望实现一个能够在相对较短的时间内(不到15-20秒)处理大量英语词典(〜50,000字)的VBA 索引构buildalgorithm。 由于我是一名C ++程序员,在实践中(这是我第一次做大量的VBA工作),所以我build立了一个快速的概念validation程序,能够在大约半秒内完成计算机上的任务。 但是,到了testingVBA端口的时候,花了差不多两分钟的时间来做同样的事情 – 这对我来说是一个无法接受的长时间。 VBA代码如下: 节点类模块: Public letter As String Public next_nodes As New Collection Public is_word As Boolean 主要模块: Dim tree As Node Sub build_trie() Set tree = New Node Dim file, a, b, c As Integer Dim current As Node Dim wordlist As Collection Set wordlist = New Collection file […]

使用VBA在Excel中select非空白单元格

我刚开始深入VBA,遇到了一些障碍。 我有一个50 +列,900 +行的数据表。 我需要重新格式化这些列中的10个,并将其粘贴到新的工作簿中。 如何以编程方式selectbook1的列中的每个非空白单元格,通过一些函数运行它,并将结果放在book2中?

获取VBA中的时区信息(Excel)

我想在VBA的特定date确定不同国家/地区的GMT / UTC(包括夏令时)的时间偏移。 有任何想法吗? 谢谢

关于如何部署和共享VSTO解决scheme的最佳内容

通过基于办公室的解决scheme(特别是Excel)来推动视觉工作室和网点的发展,最好的文章或信息是关于如何让办公用品具有额外的二进制文件和程序集。 这个外部代码是否与电子表格打包在一起 如果人们开始通过电子邮件发送电子表格怎么办? 这个额外的程序集是否有任何开销? 二进制文件是否存在与电子表格分离的风险? 看起来微软已经推出VSTO超过5年了,但你读了很多混合的评论和问题。 我们是否在那些做大型VBA excel解决scheme的公司可以完全迁移到dotnet而没有任何实际的担忧?

从多单元格范围获取格式化的值

Dim myText As String myText= Range("a3").Text 返回单元格A3中的格式化值,但是 myText= Range("a3:c7").Text 给我一个错误。 如何获得表示多单元格范围的格式化值的string,同时保留数字格式? 即输出文本的格式将与从范围复制粘贴到文本编辑器的格式相同。

在Excel VBA中创build一个自定义工作表函数

我有一个微弱的记忆,可以使用VBA函数来计算Excel中的值,就像这样(作为单元格公式): =MyCustomFunction(A3) 可以这样做吗? 编辑: 这是我的VBA函数签名: Public Function MyCustomFunction(str As String) As String 该函数位于ThisWorkbook模块中。 如果我尝试在工作表中使用它,如上所示,我得到#NAME? 错误。 解决scheme(谢谢,codeape):定义ThisWorkbook模块时,该function是不可访问的。 它必须位于“正确”模块中,该模块已手动添加到工作簿中。

如何查看整个行在excel彻底vba中是否空白

我有一个工作表,其中有来自两个不同来源的数据。我之间有一个空白行。我想把这个空行作为我的分隔符。如何查看整行是否为空。

如何使用VBA从MS-Excel(2010)查询MS-Access表

我想在Excel中编写一些VBA代码来查询Access中的表。 我已经尝试了多个代码示例,如添加的链接,他们似乎都在“打开连接”部分失败。 我曾尝试使用不同的引用,但我不知道我应该使用什么,不同版本(即Microsoft ActiveX数据对象2.0,2.1,…,6.0)之间的区别是什么或提供者信息应该。 对于提供商的信息,我通常看到一些沿线的东西 “Provider = Microsoft.Jet.OLEDB.4.0; Data Source =” 但是我不确定这是否是我需要使用的,或者上面显示的提供程序string中的什么/什么条件应该改变。 有人可以教育我如何正确地做这种事情? 注意:如果可能的话,我希望有一个解决scheme可以在无需下载任何其他应用程序的情况下工作,并且可以同时用于Access和Excel 2007和2010版本,因为这需要在具有可能不同版本的办公室的不同计算机上运行。 链接到类似的问题: Excel VBA查询访问失败 http://www.mrexcel.com/forum/showthread.php?t=527490 码: Sub asdf() strFile = "C:\Users\bwall\Desktop\Excel Query Access Testing" Dim cn As Object Dim rs As Object Dim strSql As String Dim strConnection As String Dim AppPath As String Set cn = CreateObject("ADODB.Connection") AppPath = Application.ActiveWorkbook.Path […]

按代号完全引用工作表

当我使用CodeName属性引用Excel工作表时,如何完全限定它们,包括工作簿引用? 我想要防止打开两个不同的工作簿和两个具有相同CodeName的工作表。 我使用ThisWorkbook是因为我想引用代码运行的工作簿。 我想像这样的事情: Dim tgWs As Worksheet Set tgWs = ThisWorkbook.WsSummary tgWs.Cells(1,1).Value = "Test" WsSummary是工作表的代号。

我如何获得一个单元格在一个范围内的位置?

我将如何去获取一个单元格内的相对位置? 在工作表中查找单元格的位置很简单,使用Row和Column属性,但我不确定如何在一个范围内执行同样的操作。 我考虑在我想要查找单元格的位置的范围内使用左上angular的单元格的位置,并从工作表单元格的位置处将其减去(-1),但是会变得有点麻烦。 有没有更好的方法去做这件事? 到目前为止,我的最佳尝试,包括testing,是这样的: Option Explicit Sub test() Dim r As Range: Set r = Sheet1.Range("B2:E10") Dim c As Range: Set c = Sheet1.Range("C2") Debug.Print "Column in sheet: " & c.Column Debug.Print "Row in sheet: " & c.Row Debug.Print "Column in range: " & column_in_range(r, c) Debug.Print "Row in range: " & row_in_range(r, c) […]