Tag: vba

VBA是否有字典结构?

VBA是否有字典结构? 像关键的<>值数组?

Excel VBA,从一个不活动的工作表获取范围

当我查看“Temp”工作表时,此脚本正常工作。 但是,当我在另一个工作表中,则复制命令失败。它提供了一个“应用程序定义或对象定义的错误” Sheets("Temp").Range(Cells(1), Cells(1).End(xlDown)).Copy Sheets("Overview").Range("C40").PasteSpecial 我可以使用这个脚本,但是我有粘贴它的问题 Sheets("Temp").Columns(1).Copy Sheets("Overview").Range("C40").PasteSpecial 我不想激活“温度”表来得到这个 我还可以做些什么

当VBA代码运行时,MS Excel崩溃

我在excel表单上运行VBA代码时遇到了excel崩溃的问题。 我有一些代码添加一个公式的一个单元格范围如下: Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1" End Sub 当这个代码运行时,我收到一条消息,说“ Excel遇到问题,需要closures ”,Excelclosures。 如果我运行worksheet_active()类中的代码,它工作正常,不会崩溃 Private Sub Worksheet_Activate() Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1" End Sub 但我真的需要它在worksheet_change()类中工作。 有没有人在使用worksheet_change()类时遇到类似的崩溃问题,任何人都可以指出正确的方向来解决这个问题?

使用VBA循环浏览文件夹中的文件?

我想在Excel 2010中使用vba循环查看目录的文件。 在循环中,我将需要 文件名和 文件被格式化的date。 我已经编码以下工作正常,如果该文件夹没有更多的50个文件,否则它是可笑的慢(我需要它与> 10000文件的文件夹)。 这个代码的唯一问题是查找file.name的操作需要非常多的时间。 代码工作,但waaaaaay太慢(每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 问题解决了: 我的问题已经通过下面的解决scheme使用Dir以特定方式解决(15000个文件为20秒),并使用命令FileDateTime检查时间戳。 考虑到从20秒以下的另一个答案减less到不到1秒。

如何在Microsoft Excel中使用正则expression式(正则expression式)在单元格内和循环中

如何在Excel中使用正则expression式并利用Excel的强大网格(如设置数据操作)? 在单元格函数返回匹配的模式或replacestring中的值。 Sub循环访问一列数据并提取与相邻单元格的匹配。 什么设置是必要的? 什么是Excel正则expression式的特殊字符? 我知道正则expression式在许多情况下( 使用或不使用正则expression式? )并不理想,因为excel可以使用Left , Mid , Right , Instrtypes命令进行类似的操作。

在VBA中查找上次使用的单元格时出错

当我想find最后使用的单元格值时,我使用: Dim last_row As Integer Dim LastRow As Long LastRow = Range("E4:E48").End(xlDown).Row Debug.Print LastRow 当我把一个元素放入一个单元格时,我得到了错误的输出。 但是,当我把多个值放入单元格时,输出是正确的。 这背后的原因是什么?

如何使用vba解析XML

我在VBA工作,并想分析一个字符串例如 <PointN xsi:type='typens:PointN' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema'> <X>24.365</X> <Y>78.63</Y> </PointN> 并将X和Y值分成两个独立的整数变量。 我是XML的新手,因为我工作在这个领域,所以我被困在VB6和VBA中。 我如何做到这一点?

关键字Set在VBA中究竟做了什么?

希望这是一个简单的问题,但是我很喜欢技术性的答案! 有什么区别: i = 4 和 Set i = 4 在VBA中? 我知道后者会抛出一个错误,但我不完全明白为什么。