excel-vba相关内容

默认情况下对一组类进行排序

TL; DR: 是否可以将类集合/列表传递给库排序算法,并使其返回已排序列表(最好是通过named/default类属性)? /strong> 我最近一直在学习一些Python,并且对Sorted()函数印象深刻,该函数可以对任何迭代进行排序.对于数字来说,这很简单,但是对于类,可以像这样分配一个比较方法.该方法告诉比较运算符如何比较该类的2个实例.除其他功能外,它还允许您使用内置的 ..
发布时间:2020-06-26 12:39:54 其他开发

Excel公式:使用INDIRECT获取具有指定范围的相同行号会导致#VALUE!错误

问候堆栈溢出居民! 我在尝试获取涉及INDIRECT的公式以使其与INDEX结合使用时遇到问题.当我使用特定的行值时,该数组可以正常工作,但是当我尝试使用INDIRECT获取当前行号时,我得到一个#VALUE!错误. 例如:我在R108单元格中有此图标,它可以正常工作: =IF(OR(ISERROR(INDEX(MODEL,SMALL(IF(OWNERID=N108,ROW(OW ..
发布时间:2020-06-23 18:31:17 其他开发

自动目标搜寻超过单元格的范围

当工作表中的任何单元格发生更改时,我都希望跨几行应用目标搜索.我想将其从第7行应用到第11行.我遇到的第一个问题是,每次运行此命令时excel都会崩溃.我才刚刚开始学习VBA,因此对您的帮助非常感激.谢谢! 我的代码如下: Option Explicit Private Sub Worksheet_Calculate() CheckGoalSeek End Sub Private ..
发布时间:2020-06-21 19:51:28 其他开发

带有条件数据的下拉列表

我有三个单元格区域(来自工作簿的另一张表),用于存储要在下拉列表(窗体控件)列表上显示的值.我需要宏代码来重置单元格范围,或者需要一个命名范围来基于其他单元格值来定义下拉列表中的选项. . 到目前为止,我已经尝试了以下代码,但均未成功: Sub DropDown11_Change() 如果Range("A1")= 1然后 (输入范围为sheet1 a1:a50) ElseIf ..
发布时间:2020-06-15 19:10:18 其他开发

在VBA中从IEEE-754 double中提取尾数,指数和符号数据

如何从VBA中的IEEE-754 64位(双)浮点数中提取尾数,指数和符号数据?谢谢 编辑(在John Coleman评论之后).在发布原始问题之前,我到处寻找解决方案,并且只能找到如何在C语言中执行此操作(例如,使用具有位字段的结构).无法为VBA找到任何东西.我曾尝试使用VBA的位运算符(即AND,OR,NOT,XOR),但这似乎无法提供预期的结果.例如,以单精度IEEE 32位浮点表示 ..

Excel气泡图重叠数据标签

当下表中的criteria1和criteria2具有相同的值时,气泡图存在问题.数据标签和数据系列相互重叠.在这种情况下,很难阅读它们.该如何解决? +------------+-----------+-----------+ | City | criteria1 | criteria2 | +------------+-----------+-----------+ | Tha ..
发布时间:2020-06-14 18:42:18 其他开发

在Excel VBA中isNumeric返回错误状态

在下面的代码中,如果特定单元格中的数字是数字,我试图进行计算,否则从其他单元格返回数字.我认为我的实现是不正确的,因为如果第一个单元格不是数字,则只会填充else状态,反之亦然.你能告诉我如何解决这个问题吗? 这是数据示例: 第六项应在Meas-LO列中返回27. 谢谢 这是代码 Sub ReturnMarginal() 'UpdatebySUPERtool ..
发布时间:2020-06-13 20:18:22 其他开发

删除具有重复数据VBA的行

我正在努力做一些应该非常简单的事情,但是,我已经阅读了至少15种方法,而且似乎无法使其正常工作. 这是一个示例数据集: 9:30:01 584.7 9:30:01 590 9:30:01 595 9:30:02 584.51 9:30:03 584.62 9:30:04 584.44 9:30:05 584.05 我每秒只需要一行,因此在前3行中,仅需保留一行.我不在乎它是第一个还 ..
发布时间:2020-06-12 19:40:37 其他开发

将整个列(列中的每个值)放入数组中?

所以我在做一个宏来做很多事情.一件事是从sheet2中找到sheet1中单元格的重复项.给定工作表1中的columnA,是否使工作表2中的列B中的任何值匹配工作表1中的列中的任何值. 我知道这里有删除重复项,但是我只想标记而不是删除. 我在考虑过滤的问题.我知道您在过滤时可以选择多个条件,因此,如果您有一个包含20个不同值的列,则可以在过滤器中选择5个值,它将为特定列显示具有这5个值的 ..
发布时间:2020-06-12 19:37:22 其他开发

VBA ByRef参数类型不匹配

最初,在我的主要代码部分中,我有一个丑陋的if语句-尽管它会运行。我决定使其成为一个函数,这将导致我收到错误“ 编译错误:ByRef参数类型不匹配”。我的假设是该功能需要正确引用,尽管我一直在阅读文档,但看不到为什么>。 声明ShiftValue变量: Dim ShiftValue as String ShiftValue = LCase(Sheets( “ Raw_Rota”) ..
发布时间:2020-06-07 18:56:48 其他开发

ADODB Recordset.RecordCount提供错误的答案

我有一个问题,我的Recordset实际上有1164条记录时返回-1作为RecordCount。 我检查了查询,这很好。即使它告诉我有-1条记录, CopyFromRecordset 方法仍然有效并粘贴正确的结果。在使用 rs.RecordCount 之前从未遇到过问题? Dim strSQL作为字符串 变暗作为新的ADODB.Recordset 如果cust =“ JPM”, ..
发布时间:2020-06-02 19:32:11 其他开发

使用ADO获取Excel的行号

我们正在尝试根据soome条件获取特定记录集的行号。考虑下表 名称ID abc 1 cde 2 efg 3 现在,如何获取员工“ cde”的行号或记录集号(根据下面的代码,我们需要得到的结果为2)。请对此提供任何帮助。 Const adOpenStatic = 3 Const adLockOptimistic = 3 Const adCmdTe ..
发布时间:2020-06-02 19:31:33 其他开发

ADODB.Recordset上的“类型不匹配”错误

我有一个应从SQL数据库读取数据并向Excel报告的程序。它可以在32位计算机上按预期工作,但是由于我移至64位工作环境,因此程序无法运行。这是我的代码示例(返回的第一个错误): Private Sub SearchBox_Change() ResultBox.Clear 调用CompileQuery '如果查询为空 如果SearchBox.Value =“”然后 NumS ..
发布时间:2020-06-02 19:30:59 其他开发

如何在VBA(Excel)中使用无BOM编码的UTF-8保存文本文件(CSV)?

所以这是我最初的问题。 以下问题的答案 似乎是,要获得UTF-8(和没有BOM的UTF-8)编码的唯一解决方案是使用ADODB.Stream。对象。 主题行中新问题的答案以代码形式发布。 我坐在这里,尝试保存 Excel工作表,是带有VBA宏的 .CSV 文件。 但是,我想知道是否使用 ADODB / ADODB.Stream 或仅 .SaveAs 文件格式:= xlCSV 。我已经 ..
发布时间:2020-06-02 19:30:37 其他开发

如何在Excel VBA中使用ADO在.xlsx文件中创建新工作表/表格

嗨,我正在尝试创建一个函数,该函数将存储用户选择的一系列数据以及用户的自定义名称,然后使用ADO将数据存储在新的Excel工作表中,用户的自定义名称为工作表名称。到目前为止,我已经可以使用ADO连接,并且可以读取数据并将其写入.xlsx文件,但是当我尝试通过创建新表来创建新工作表时,出现错误,表明我的工作表名称不正确。我使用了 test 和 testName ,在四处挖掘后我很困惑。这是我的代码的 ..
发布时间:2020-06-02 19:30:05 其他开发