Tag: 数组

擦除数组中的空单元格

我在列中粘贴一个数组,问题是它留下列中的一些单元格为空。 我如何擦除列中的单元格? 这是我的: Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("Info").Range("A1").Select Dim i As Integer Dim iLastRow As Long iLastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row Dim arrmatrix() As String ReDim arrmatrix(1 To iLastRow, 1 To 1) For i = 1 To iLastRow Range("A2").Cells(i, 1).Select If Selection.Offset(0, 11) = "Pi emitida" Then arrmatrix(i, 1) = Range("A2").Cells(i, 1).Value End If […]

突出显示基于值的单元格,多个search数组

我正在使用VBA查找某些2或3个字母的“用户标识”号码,这些号码位于采购订单编号的末尾。 比如123456DWR。 我有大约1500个不同的“用户名”号码(DWR的)我没有reate我正在使用的代码,但我加了900左右id到searcharrays行。 目前,这段代码突出显示了整个行中的id号码。我只是需要这个突出显示它自己的单元格。 我试图使它参考单元格,而不是Cells.Row,但它不起作用。 有人能把我引向正确的方向吗? 代码如下 Sub Affiliates() 'This code must be updated as affiliates are added or removed Dim allRange As Range Dim searchTerms As Variant Dim cell As Range, word As Variant Sheets("UPS").Activate Application.ScreenUpdating = False Application.Calculation = xlManual searchTerms = Array("AF2-", "AF3-", "AF4-", "AF5-", "AF6-", "AFP-", "AIP-", "AKB-", "APE-", "ASP-", "AU-", […]

忽略Excel数组公式中的空白参数

我正在使用数组公式来返回大数据集上的总和和计数。 数组公式最多可以有3个参数,但公式需要在任何或所有参数<blank>时适应, 而不使用VBA 。 例如 A1 = "Australia" B1 = "Finance" C1 = "Female" D1包含公式 D1 = {count(if((region=A1)*(sector=B1)*(gender=C1),population))} 有时候其中一个标准将是空白的 A1 = "Australia" B1 = <blank> C1 = "Male" 在这种情况下,我想公式返回相当于: D1 = {count(if((region=A1)*(gender=C1),population))} 在极端情况下,A1,B1和C1可以全部为空,在这种情况下, D1的公式应该返回等于Count(population) 有没有办法创build一个数组公式来解决这些可能性? 我最初尝试创build一个dynamic参数string E1 = "(region=A1)*(sector=B1)*(gender=C1)" 然后将该string用作数组公式中的参数 D1 = {count(if(E1,population))} 但我可以find一种方法来使这个工作。 我已经尝试了一些解决scheme,但总是缺less一个关键因素。 通过使用isblank我可以确定如果单元格是空白的,但为了这是有用的,我需要把这个返回的值变成长度count(population)的布尔值数组。 任何和所有的想法,不胜感激。 谢谢。

Excel VBA:什么是可以存储在数组中的string元素的最大数目

我正在尝试构build一个可以为用户提供更多function的插件。 这些function的基础是search1424个string元素的相当大的数据集,并返回每个相同匹配的数组元素位置。 我希望将数据集存储在VBA代码中,因为它永远不会改变,我不希望将它存储在电子表格中。 在构build数组时,我遇到了一个问题,即在添加第1278个元素时,整个数组将消失。 直到第1277个元素数组的作品,可以审讯。 只要我再添加一个元素,整个数组就消失了! 从我可以告诉我在VBA中允许的数组元素的最大数目,因为其他一些问题,这是失败的。 这是我的代码片段: Function matsearch(ByVal MatSpec As Variant) As String Dim i As Integer, InstanceCount As Integer, LastInstance As Integer, FirstInstance As Integer Dim Table_1ASpecList() As String InstanceCount = 0 LastInstance = 1 Table_1ASpecList = Array("Spec_No", "SA/AS 1548", "SA/AS 1548", "SA/CSA-G40.21", "SA/EN 10028-2", "SA/EN 10028-3", "SA/EN 10028-7", "*****Many More Elements*****") […]

将整数单元格范围转换为Excel单元格范围

我在Ruby / Rails编码,我有一个单元格范围,一个例子是: [0,1]..[0,3] with the convention [row, column]..[row..column] Excel使用单元格范围 A2:A4 with the convention <column><row>:<column><row> 我需要从前者转换到后者。 我所关心的主要是信件: A => 0, B => 1, C => 2, AA => 26 AB => 27 我将如何去做呢? 我基本上需要做相反的事情: 使用ruby生成字母来表示数字?

Excel VBA – 将公式结果分配给数组

这可以将值放在列中: Sub JR_ArrayToDebugPint2() ' written by Jack in the UK for [url]www.OzGrid.com[/url] ' our web site [url]www.excel-it.com[/url] ' Excel Xp+ 14th Aug 2004 ' [url]http://www.ozgrid.com/forum/showthread.php?t=38111[/url] Dim JR_Values(500) Dim JR_Count As Integer Dim R As Long R = 2 For JR_Count = 1 To 500 Step 1 JR_Values(JR_Count) = Evaluate("=INDEX('Client'!$O$2:$O$347473,MATCH(1,(('Client_Cost'!$D$2:$D$347473=BC" & CStr(R) & ")*('Client_Cost'!$E$2:$E$347473=BE" & CStr(R) […]

将满足条件的数组值复制到另一列excel vba

我想从一个数组中复制一组值,而不是满足条件(例如值<70)到下一列 'Qo reported (bd) – array For i = 0 To cap array_Qorep(i, 0) = Range("A" & i + 1) Cells(i + 1, 3) = array_Qorep(i, 0) 'copy array in the next column If Cells(i + 1, 1).Value = Empty Then Exit For 'more values below, stop in blank Next 问题是,我不知道如何应用我想要的数组中的条件,然后复制到下一列,是否有办法删除不符合条件从数组的值,然后复制它们? 这是解决scheme,因为某些原因,它没有工作,但现在它:),并感谢Absinthe 'Qo reported (bd) […]

使用未分配的variables创build一个Excel VBA数组作为条目

我正在尝试设置导入CSV文件的工作stream程/ UX,并使用每列顶部的下拉列表为每个导入文件的列分配一个“数据types”。 一旦这些数据types被指定/分配给每一列,另一个macros将使用导入的CSV数据填充第二张表格,其中新表格中的位置取决于为导入的数据的每列指定的数据types。 例如,如果导入数据的第一列是数据types“DataA”,那么下拉select将被select为第一列(从下拉菜单中的总共12个“数据types”)。 这个“DataA”数据将被填充在第五列的第二张表格中。 这是我到目前为止的代码: Dim DataA As Integer, DataB As Integer, DataC As Integer, DataD As Integer, DataE As Integer, DataF As Integer, DataG As Integer, DataH As Integer, DataI As Integer, DataJ As Integer, DataK As Integer, DataL As Integer Dim ColArray(12) As Variant For p = 1 To LastColImport 'This is […]

具有n行和列的dynamic数组

我必须读一个可以有'n'行和'n'列的excel,并将数据存储在数组中进行处理。 例如下面的例子: Author Book No Value ABC A 1 100 DEF D 2 20 我想要在一个单独的数组中的信息头和另一个信息行。 这是我到目前为止: 假设数据从Excel工作表的第13行开始 – var i, j, k ,l,m ,n; i=13; j=1, k=0; m=0; n=0; // i represents the row and j represents excel column(A) while(EApp.ActiveSheet.Cells(12,j).Value!="") { j=j+1; // Counting the Number of Columns (Header) } j=j-1; //decrementing the counter j […]

Excel VBA – 数组公式返回#VALUE! (错误2015)以防单元包含超过255个字符的情况

亲爱的,我使用一个数组公式的结果传递给VBAmacros,这意味着公式的结果作为数组传递给我的macros。 在某些情况下,我在数组中获得#VALUE(错误2015),我不知道为什么。 当我和受影响的细胞一起玩的时候,当细胞有相当数量的字符(~3000个字符)时,就会发生这种情况。 有没有人有线索我可以尝试解决isuse? 式: {=arrayToCSV(removeElementsFrom2DimArray(IF('sheet'!$G$1:$G$2000=A1;'sheet'!$F$1:$F$2000)))} IF('sheet'!$G$1:$G$2000=A1;'sheet'!$F$1:$F$2000)部分返回一个数组,如{FALSE, FALSE, FALSE… Value, Value, FALSE , …} 。 这一个我传递给我的mVBA函数removeElementsFrom2DimArray去除FALSE元素 现在看来IF('sheet'!$G$1:$G$2000=A1;'sheet'!$F$1:$F$2000)在某些情况下会返回#VALUE(Error 2015) {FALSE, FALSE, FALSE… #VALUE!, Value, FALSE , …} Function removeElementsFrom2DimArray(ByRef arr() As Variant, Optional value As Variant = False) As String() On Error GoTo ErrorHandler Dim coll As New Collection Dim i As Integer If (IsArray(arr)) Then […]