Tag: vba

对于每个循环的反向顺序

关于VB最强大的function之一是能够循环通过集合中的对象而不涉及索引 – for each循环。 我发现它非常有用,只想从集合中删除对象。 在从电子表格中的预定义行(如行)中删除对象时,如果使用索引并从最大值开始并返回第一个值,则代码会更简单。 (使用迭代器的步骤-1)(否则需要一个偏移量,一旦活动的一个被删除,For就会将枚举器指针移回到前一个对象) 例如。 For intA = 10 to 1 step -1 ' … Next 如何使用For Each | 接下来例如。 For each rngCell in Selection.Cells ' … Next 我怎么能循环使用for each循环语法?

如何使用VBA将图片插入指定单元格位置的Excel中

我用下面的代码将“.jpg”文件添加到我的Excel工作表中: 'Add picture to excel xlApp.Cells(i, 20).Select xlApp.ActiveSheet.Pictures.Insert(picPath).Select 'Calgulate new picture size With xlApp.Selection.ShapeRange .LockAspectRatio = msoTrue .Width = 75 .Height = 100 End With 'Resize and make printable With xlApp.Selection .Placement = 1 'xlMoveAndSize '.Placement = 2 'xlMove '.Placement = 3 'xlFreeFloating .PrintObject = True End With 我不知道我在做什么错,但它没有插入到正确的单元格,所以我应该怎么做,把这张图片放入Excel中的指定单元格?

excel vba调用具有variables的子程序

我定义了下面的子例程: Sub EnterCellValueMonthNumber(cells As range, number As Integer) range(cells).Select ActiveCell.FormulaR1C1 = number End Sub 当我像这样调用子程序时: EnterCellValueMonthNumber ("N23:Q23",1) 我收到以下错误信息: Compile error Expected: = 我不知道为什么我得到这个消息。 有谁知道我错过了什么?

声明早期绑定的MSXML对象在VBA中引发错误

我正在尝试导入XML数据到Excel中。所以代码的第一行是 Dim XMLDOC As MSXML2.DOMDocument 这给出了一个错误“用户定义的types没有定义”

VBA检查文件是否存在

我有这个代码。 它应该检查一个文件是否存在,如果有的话打开它。 如果文件存在,它会起作用,如果不存在,那么每当我将文本框留空并单击提交button时,它就会失败。 我想要的,如果文本框是空的就显示错误消息,就像文件不存在一样。 运行时错误“1004” Dim File As String File = TextBox1.Value Dim DirFile As String DirFile = "C:\Documents and Settings\Administrator\Desktop\" & File If Dir(DirFile) = "" Then MsgBox "File does not exist" Else Workbooks.Open Filename:=DirFile End If

用VBA隐藏Excel工作表

我有一个Excel电子表格三张。 其中一张纸包含其他纸张之一的公式。 是否有一个编程方式来隐藏包含这些公式的表单?

Excel 2013 VBA清除所有筛选器macros

看来,旧的macros不起作用。 我有适当的安全设置运行VBAmacros,但是当我已经尝试了几个方法清除工作表上的所有筛选器,我得到一个编译错误。 这是我所尝试的: Sub AutoFilter_Remove() 'This macro removes any filtering in order to display all of the data but it does not remove the filter arrows ActiveSheet.ShowAllData End Sub 我有工作表上的button来清除所有filter,方便用户使用,因为工作表中有许多列上有filter的列。

阅读Excel文件的VBAmacros(或vbaProject.bin),而无需在MS Excel中打开它

我想分析一下Excel文件,特别是那些里面含有VBA程序的文件。 因为我打算一个接一个地在很多Excel文件上运行这个分析,所以我不想在Microsoft Excel中打开这些文件来分析它们。 一个难点是find并parsingExcel文件的VBAmacros。 我们知道一个Excel文件可以被转换成包含许多.xml和vbaProject.bin .zip文件,可以肯定的是VBAmacros在vbaProject.bin 。 但是,问题是如何读取? 有谁知道是否有任何工具或API来查找和parsingVBAmacros? 有谁知道是否有任何工具或API来读取vbaProject.bin ?

用vba编写VLOOKUP函数

我试图在我的vba代码中使用VLOOKUP函数查找表格数组中电子表格的值。 我不知道如何正确书写。 以下是所有参考的正常VLOOKUP公式: =VLOOKUP(DATA!AN2,DATA!AA9:AF20,5,FALSE)

在VBA的文本框中格式化MM / DD / YYYYdate

我正在寻找一种方法来自动将VBA文本框中的date格式化为MM / DD / YYYY格式,并且我希望格式化为用户input的格式。例如,一旦用户input第二个号码,程序会自动input“/”。 现在,我用下面的代码得到了这个工作(以及第二个短划线): Private Sub txtBoxBDayHim_Change() If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/" End Sub 现在,这在打字时效果很好。 然而,当试图删除时,它仍然input破折号,所以用户不可能删除过去的一个破折号(删除破折号导致长度为2或5,然后再次运行该子,join另一个破折号)。 任何build议更好的方式来做到这一点?