原谅我,我还是有点新,但是… 在Excel中的VBA,当我去工具 – 参考我可以添加一个参考,它的工作就好了。 每当我重新打开该工作簿时,该框会保持检查状态。 但是,如果我创build一个新的工作簿,我必须重新build立对同一个库的引用。 我如何进行设置,以便我所需的库引用始终保持一致 – 在Excel应用程序级别而不是Excel工作簿级别? 谢谢
我有一个自动筛选的工作表,从单元格B3开始。 列A包含一些macrosbutton,但实际上是空白的。 前两行包含有关主范围内数据的信息。 在VBA中,我使用我认为是确定工作表中最后一行的标准方法(在这种情况下,我不能依赖单列上的.End方法): LastRow = Activesheet.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row 但是,有时这会返回一个值,即使我有数千行数据。 它似乎只有当有filter设置(但仍然有数据可见行),但即使这样并不总是发生,我看不到一个模式。 我知道还有其他的解决办法 – 我已经改为UsedRange技术,但是这个特殊的失败是非常令人沮丧的,因为在这种情况下它是最有效的。 有谁知道为什么会这样呢?
我正在为一些简单的数据分析写一个小的Excel附加组件,但不幸的是我不是一个VBA程序员;) 到目前为止我所做的是: 从庞大的Excel工作簿获取数据并执行计算 将结果写入一个整齐的预格式化excel“骨架”文件 接下来我想做什么: 直接从excel vba代码中将相同的数据写入已经整齐准备好的ppt幻灯片。 我认为有可能在幻灯片里面定义一些文本框,然后把这些值放入它们中,但是还没发现任何东西! 任何帮助,赞赏;) 这是Excel和PowerPoint 2007,但我想尽可能独立版本。 TIA
我有应该嵌套错误检查的VBA代码,但它没有。 代码如下所示。 但是,每当在错误中发生错误(例如,错误在循环中被触发,就会发生SmallError,并且在SmallError中发生错误)。不使用第二个GoTo。 错误然后打破代码。 例如: 错误在循环中 去小错误 在SmallError错误 代码中断(这里代码应该GoTo致命错误) Sub DoThings() On Error GoTo SmallError 'Coding Happens Do While(conditionhere) 'Looping things happen GoTo LoopResume SmallError: source = Err.source descript = Err.Description On Error GoTo Fatal Error 'Small error processing happens Resume LoopResume FatalError: source = Err.source descript = Err. Description On Error GoTo ExitError 'Fatal […]
我正在使用VBA将一个ListObject添加到Excel 2007工作簿。 ListObject的后面有一个QueryTable,链接到Access数据库。 代码如下所示: Dim l As ListObject Dim c As ADODB.Connection Dim r As ADODB.Recordset Set c = New ADODB.Connection c.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myAccessDatabasePath;Persist Security Info=False;" Set r = New ADODB.Recordset r.Open "Select * From myTable", c Set l = ActiveSheet.ListObjects.Add(xlSrcQuery, r, True, xlYes, Range("A1")) l.QueryTable.Refresh False 'this line causes an error l.QueryTable.Refresh False 问题基本上是我不能多次刷新表格。 […]
首先,我是一个更新的Excelmacros。 我读了一些文章,并做了一些工作,这些天。 但是现在我这么犹豫了。可以将.txt或.xml文件放到VBAProject中吗?如果是的话,如何获取文件的path或者如何获取文件的path? 如果不是,有没有一个过境的方式来做这项工作? 只要认为macros,而不是AddIn项目。 非常感谢!
我有一个Excel工作簿,我有几个表。 在我的三张桌子上,有一些“主”桌子,彼此有点不同。 这些表默认情况下是2行(1个头和1个数据行),当我在已经存在的行的下面添加一个新行时,这些表就被扩展了。 在一些领域是公式正在使用其他表中的值。 但是,例如,如果我在最后一行下面的一个字段中插入一个新值,从而在表中添加另一行,我希望其他表中的表也添加另一行(并执行新的公式行) 这是在我有“Soorten Vezels”与他们相应的“最大排量”和“soorten connectoren”与他们相应的“最大排量” 这是“maximale demping”文件 这是测量forms,在这种forms下,用户不需要input任何东西,除了2下拉菜单的“typeskabel”和“types连接器” 我想要的是,当用户例如在“maximale demping”文件中inputlenght(“lengte”)时,会添加一个新的行(“kabelnr”,“van”和“naar”自动从“gegevens”文件中) 但是我也希望工作簿在测量表格中添加一行,自动填写“kabelnr”,“van”和“naar”字段。 所以我只需要从下拉菜单中select“type kabel”和“type connector”。 我如何做到这一点(与VBA)?
在我的MS Excel我有不同的数据types舍入操作的行为: 在单一的情况下: ? Application.Round(6.575!, 2) 6.57 如果是Double: ? Application.Round(6.575#, 2) 6.58 有人知道为什么吗? 更新 : @paxdiablo给了一个很好的答案,所以只是在这里重现它: 在单精度中,6.575是二进制表示中的0 10000001 101001 0011 0011 0011 0011或6.57499980926513671875。 这轮到6.57 在双倍精度中join了更多的0011,它们的重量足以使得数字稍大于6.575(6.57500000000000017763568394003),因此它变为6.58
我需要更新Excel工作簿的sql连接的连接名称。 这是我的尝试。 我已经能够通过执行标准的replace修改连接string和命令文本。 Sub ConnectionString_modify() Dim i As Long Dim cnt As Long Dim modtext As String Dim modrange As String 'Grab nummber of workbook connections cnt = ActiveWorkbook.Connections.Count For i = 1 To cnt 'Changes to Connection string –This works modtext = ActiveWorkbook.Connections.Item(i).OLEDBConnection.Connection modtext = VBA.Replace(modtext, "_FY2013", "_FY2014") ActiveWorkbook.Connections.Item(i).OLEDBConnection.Connection = modtext 'Changes Connection Name […]
我正在使用Excel(因为数据保存在电子表格中)来查看几千个链接的列表,看看它们是否被破坏,当我使用RESTful获取它们时,AKA是否返回404? 但是,我的VBA代码返回的东西,而不是当我使用curl,在这种情况下,curl是正确的(该网页存在)。 这是我的代码与链接造成麻烦(这是在一个子程序,不用担心): For i = StartRow To EndRow Let copyRange = "H" & i Let writeRange = "T" & i query = Worksheets("Sheet1").Range(copyRange).Value If query = "" Then Else With zipService .Open "GET", query, False End With zipService.send zipResult = zipService.Status Worksheets("Sheet1").Range(writeRange).Value = zipResult End If Next i curl命令行: curl –sL –w “%{http_code} \n” […]