Tag: vba

图书清单 – 使用Excel VBA条码查询从亚马逊获取书籍详细信息

我有一个条形码阅读器和一堆书。 对于每本书,我都想在Excel电子表格中列出书名和作者。 我的观点是,连接到amazon web services的一些VBA代码将使这更容易。 我的问题是 – 以前没有人做过? 你能指出我最好的例子吗?

VBA Excel:编译错误:对象需要?

我得到一个VBA Excel的“编译器错误:所需的对象” – 标记行中的错误。 我不明白原因。 顺便说一句:祝愿Excel将支持.Net语言,无需包装的需要。 Option Explicit Public Type Inherit ReqId As Integer Parent As Integer Depth As Integer Path As String End Type Sub test() Dim MyStructure() As Inherit ReDim MyStructure(1 To 1000) MyStructure(1).ReqId = 1 Dim Data, refData As Inherit Set Data = MyStructure(1) ' <—! Beep End Sub

有没有办法在Excel-VBA中调用python代码?

我有一个包含macros的Excel文件(Main.xlsm)。 我有一个python文件(python.py)来生成一个辅助excel文件(sub.xlsx),我将进一步调用Main.xlsm文件的macros。 这个由运行python.py生成的sub.xlsx文件保存在同一个工作目录中。 现在我想让这个python.py在运行Main.xlsmmacros的时候被执行,然后使用这个xlsx文件。 我基本上想要减less外部执行python.py的步骤。 有这个命令吗? 我是VBA新手。

Excelmacros – select数据和格式为表格的所有单元格

是否有可能写一个macros,可以格式化任何活动select的表格? 例如,我有一个基本上只是做一个Ctrl + Shift +结束范围select的macros。 之后,我希望macros能够将选定的范围格式化为一个表格,但是当我在VBA中logging这个动作时,它将使用范围地址,这些地址不一定是从一个表到另一个表。 Sub A_SelectAllMakeTable() Range("A1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$AO$2959"), , xlYes).Name _ = "Table1" Range("A1:AO2959").Select ActiveSheet.ListObjects("Table1").TableStyle = "TableStyleMedium15" End Sub 提前致谢。

使用Excel VBA查找工作簿中的所有匹配项

我正在尝试编写一个VBA例程,它将接收一个string,search给定的Excel工作簿,并返回所有可能的匹配项。 我目前有一个工作的实现,但它是非常缓慢,因为它是一个双循环。 当然,内置的Excel Findfunction是“优化”,以find一个匹配,但我希望它返回一个初始匹配数组,然后我可以应用更多的方法。 我会发布一些我已经有的伪代码 For all sheets in workbook For all used rows in worksheet If cell matches search string do some stuff end end end 如前所述,这个双循环使事情运行非常缓慢,所以我正在寻求摆脱这个如果可能的话。 有什么build议么? UPDATE 虽然下面的答案会改善我的方法,但我最终还是采取了稍微不同的做法,因为我需要一遍又一遍地做多个查询。 我决定循环遍历文档中的所有行,并创build一个包含每个唯一行的键的字典。 这个指向的值将会是一个可能匹配的列表,所以当我稍后查询时,我可以简单地检查它是否存在,如果是的话,只需要获得一个匹配的快速列表。 基本上只是做一个初始扫描,将所有内容都存储在可pipe理的结构中,然后查询可以在O(1)时间内完成的结构

使用列参考清除VBA中单元格的内容

我想获得一段代码清除一些单元格中的数据,使用列引用。 我正在使用下面的代码: Worksheets(sheetname).Range(.Cells(2, LastColData), .Cells(LastRowData, LastColData)).ClearContents 要做到这一点,但是我在第一个.Cells部分出现错误,为什么?

如何在VBA for Excel中为dynamicselect的单元格定义ENTER按键事件

我得到了一个dynamicselect的单元格,它将填充一些即将放置的信息,当我把这个单元格的信息和input按下时, 1 – 它应该触发一个macros 'macro(value) macro1 myinfo 2 – macros应该获得该单元格中的信息 myinfo = Cells( i, j ) 那我该如何实现呢?

如何从Excel单元调用VBA函数?

我是一个VBA新手,我试图写一个函数,我可以从Excel单元格中调用,可以打开closures的工作簿,查找单元格值并返回它。 到目前为止,我知道如何编写一个这样的macros: Sub OpenWorkbook() Dim path As String path = "C:\Users\UserName\Desktop\TestSample.xlsx" Dim currentWb As Workbook Set currentWb = ThisWorkbook currentWb.Sheets("Sheet1").Range("A1") = OpenWorkbookToPullData(path, "B2") End Sub Function OpenWorkbookToPullData(path, cell) Dim openWb As Workbook Set openWb = Workbooks.Open(path, , True) Dim openWs As Worksheet Set openWs = openWb.Sheets("Sheet1") OpenWorkbookToPullData = openWs.Range(cell) openWb.Close (False) End Function macrosOpenWorkbook()运行完全正常,但是当我试图直接从Excel单元格调用OpenWorkbookToPullData(…),它不起作用。 该声明: […]

使用VBA来检测计算机正在使用的小数点符号

是否可以使用VBA来检测计算机上正在使用哪个小数点? 我有一个macros脚本,添加一个Excel表格的条件格式。 问题是目标计算机可能使用两个小数点。 所以我想让脚本适用于所有的电脑 代码看起来像这样 With range("D" & row) .FormatConditions.Delete .FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, Formula1:="=1,01*$C$" & row, Formula2:="=0,99*$C$" & row .FormatConditions(1).Font.ColorIndex = 3 End With

如何在combobox中find选定的选项的索引?

如何访问Excel中ActiveXcombobox对象的SelectedIndex? 我需要一个整数。