Tag: 数组

VBA – 匹配2个sortingstring数组,其中一些元素没有匹配优化

我有2个数据集有很多string,我需要匹配。 第一个是1200行,第二个是大约800000.我通过Excelsorting,通过VBA调用这两个集合,所以他们在升序,因此我可以显着优化search速度,通过开始下一个迭代的第二个数据集比赛。 不幸的是,当没有find匹配的时候,即使对我search的字词检查string在字母表(>我的string)中,也不会遇到Exit For 。 我试图实现比较If vData1(arrayIndex1, 1) < vData2(arrayIndex2, 1) Then (也许与'国防部'检查之前,如果这样做在每个迭代将是缓慢的),但我遇到不正确的比较值,例如?"µm">"zzzzz"在string以“a”开始之前返回true,而在数据集中它是应该的。 有没有可靠的方法来解决这个问题? Dim optimizedCounter as long, arrayIndex1 as long, arrayIndex2 as long Dim vData1 as variant, vData2 as variant 'sort 2 data sets in Excel ascending 'assign data sets to arrays vData1 and vData2 optimizedCounter = LBound(vData2) For arrayIndex1 = LBound(vData1) To UBound(vData1) […]

Excel将单个数组拆分为多个单元格

我使用的应用程序在一个单元格的数组中导出数据串,如下所示: "data1"= value1; "data2"= value2; "data3"= value3; "data4"= value4; "data5"= value5; 我想要一个方程式或macros,或者可以像这样分割的东西: —————————————————————- | | data0 | data1 | data2 | data3 | data4 | data5 | —————————————————————- | 1 | ARRAY | value1 | value2 | value3 | value4 | value5 | —————————————————————- | 2 | ARRAY | value1 | value2 | value3 | […]

excel VBA(不是VBScript)101:如何创build和读取multidimensional array?

我正在使用Excel 2010,我有一个需要将OData结果加载到内存数组的macros。 我唯一缺less的是如何在Excel中实际创build该数组。 如何在Excel 2010中创build一个multidimensional array(或一个类的数组)? 我唯一的限制就是我所创build的任何东西都必须包含在XLSX中。 所以这意味着对PowerPivot,插件等的依赖关系已经不存在了。 我认为这只是使用VBScriptmacros。 我已经search了MSDN,StackOverflow和Google几个小时,并找不到如何做到这一点的明确的例子。

循环访问列并将值从单元格复制到数组中

所以我真的是新的excel,我试图将一个单元格中的一些值复制到一个数组,然后显示列中的数组。 所以我所拥有的是列名(A)中的名字列表。然后我在列(B)中的名字旁边有一个数字列表。 所以我想要做的是通过数字循环,如果任何数字等于4.将数字对应的名称复制到我的数组中。 并稍后显示该数组让我们在D列说。这是我迄今为止。 Option Explicit Public Sub loopingTest() Dim FinalRow As Long ' Dim i As Long 'varable that will loop through the column Dim maxN As Integer 'variable that will hold the maximum number Dim j As Long 'variable that will hold the index of the array Dim ArrayTest As Variant FinalRow = […]

在VBA Excel中重用二维数组?

这里新的,新的VBA和一般的编程。 我试图重复使用多个数组(通过循环),但我认为我需要清除它们之前,我重用它们? 我已经试过了解这些问题,但是我找不到解决scheme,或者坦白地说,如果他们工作,就不能理解解决scheme。 Dim WS As Worksheet For Each WS In Worksheets If Right(WS.Name, 4) = "Data" Then Comp = Comp + 1 Next WS Dim CompArray(10, 50) As Variant Dim RatesArray(10, 1 To 50) As Variant Dim IndexArray(10, 50) As Variant Dim ShortIndexArray(10) As Long Dim MRow, DRow, FRow, RRow, Col As Long Dim […]

VBA中的单个数据字典

我看起来像一个简单的问题。 我有一个值,我需要循环和删除的数组。 问题是一个数组只能被redimmed(不能删除中间的元素)。 我正在考虑使用字典,但我不会真正使用价值,只有关键,这似乎是一个浪费… 是否有这样的事情作为一个“关键”列表? 对于上下文,我想要做的是这样的: 创build数组: {1,2,3,4,5,6,7} 从中间删除一个元素:例如delete(3)= {1,2,4,5,6,7} 正如我所说,我可以使用字典,但似乎是一种浪费!

对于范围中的每个单元格,将单元格值添加到array-IF条件得到满足

这听起来像是一个基本的问题,但我一直没有find任何可以帮助我的提示。 我发现像Arr = Range("A1:B10")这样的东西会让事情变得简单,但是上面的例子的问题是,它可能会在指定范围内的所有值中移动,这不是我想要的去做。 虽然事后删除不需要的值听起来像是一个选项,但它听起来像是一个巨大的,毫无意义的绕道,可以很容易地避免。 目前我有以下几点: For Each cell In Worksheets("Search").Range("C7:C15").Cells If cell.Value = "Yes" Then fcat() = cell.Offset(0, -1).Value Next cell 我早些时候猜测和尝试fcat(cell) ,但到目前为止,我只是在fcat() = cell.Offset(0, -1).Valuetypes不匹配错误,我不完全确定什么所有其他的尝试。 谢谢你的时间,并让我知道如果还有什么我可以做,以改善我的问题。

SUMIF包含数组(OR)中的一个元素

我有一个付款清单,我想总结说明等于我的数组中的一个元素的成本。 EMTE € 120,00 Bread € 35,24 Lidl € 0,89 Plus € 5,19 Aldi € 2,29 Jumbo € 4,70 所以有了一个{"Lidl", "Aldi"} ,它会给我总数(2,29 + 0.89)3,18。 我尝试了Sum.If ,但我似乎没有正确地使用or语句,并将其与数组types的input结合起来。

将Excel列表转换为数组格式

我在Excel中有一些相当长的货币列表,我需要转换成数组格式,用于不同的程序。 有没有内置的公式将返回一个列表的string值到一个string数组? 例如以下内容: a b c d e 将返回为“a”,“b”,“c”,“d”,“e”(即使它只是在公式栏中,以便我可以复制和粘贴!) 如果可能的话,我宁愿不要使用VBA,只是由于时间的限制,但是如果这样做比较容易,那么任何build议都会非常有用。 提前谢谢了

数组分割和提取

我试图通过一个单元格中的每个字符来确定一个单词是否加下划线和斜体,但到目前为止循环运行和冻结。 如何复制和移动斜体和下划线的单词? 这是我迄今为止。 我问了一个新的问题,因为在这个问题上我还不够清楚。 它可以在Array拆分和提取VBA的Excel中访问 。 For Each j In ActiveSheet.Range("C1:C105") v = Trim(j.Value) If Len(v) > 0 Then v = Replace(v, vbLf, " ") Do While InStr(v, " ") > 0 v = Replace(v, " ", " ") Loop arr = Split(v, " ") For Z = LBound(arr) To UBound(arr) e = arr(Z) For […]