Tag: 数组

工作表variables数组

根据文档,我可以定义如下的工作表的数组 Dim sheetsArray As Sheets Set sheetsArray = ActiveWorkbook.Sheets(Array("Sheet1", "Sheet2")) 但是如果我的工作表是dynamic创build的,并且像下面这样的指针variables指向了什么呢? 我怎样才能使他们的数组,以便我可以循环他们做同样的活动? Dim tempsheet1 As Worksheet Dim tempsheet2 As Worksheet Set tempsheet1 = Sheets.Add Set tempsheet2 = Sheets.Add Dim sheetsArray As Sheets Set sheetsArray = ActiveWorkbook.Sheets(Array(tempsheet1, tempsheet2)) ' Doesn't work For Each msheets In sheetsArray With msheets DO SOMETHING End With Next msheets

更新存储在VBA字典中的数组

我正在创build一个使用嵌套字典和最低级别的列表的数据结构。 以下是我的数据示例: Country, Customer, Purchased US, Alan, Lawnmower US, Alan, Hammer US, Karen, Donkey US, Simon, Mustang MX, Carl, Lawnmower MX, Alan, Donkey … 我想到的数据结构看起来像dictionary –> dictionary –> array – 即, country –> customer –> purchased 。 计划是为每个dictionary –> dictionary有一个新的数组dictionary –> dictionary组合。 但是,当我尝试更新数组时,它似乎链接到dictionary –> dictionary所有较低级别dictionary –> dictionary结构。 也就是说,第三行处理完之后,有以下情况: US –> Alan –> [Lawnmower, Hammer, Donkey] […]

如何在PHP中检查所有空值的关联数组?

这可能是一个非常微不足道的问题,但请耐心等待。 我正在尝试将大量数据读入关联数组的数组中。 数据包含很多空数组和数组,其中键被设置,但是都是空值。 我想忽略这些,只有至less有一个键映射到一个非空值的数组。 (这些数据来自excel工作表,它有很多空单元,无论如何都被注册为“set”)。到目前为止,我已经尝试过: 如果(!空($ {$ small_dummy})) array_push($ {$ big_dummy},$ {$ small_dummy}); 这摆脱了空数组,但不是那些所有键映射到null的数组。 有没有更好的方法来做到这一点,而不是循环遍历整个数组,并popup所有的空值?

Excel VBAtypes不匹配错误传递范围到数组

我试图检索工作表(存储为一个数组,而不是简单的单元格)的单元格数组的值,但由于某种原因不断得到一个运行时错误13types不匹配。 我已经阅读了关于类似问题的文章,但是其中很多似乎与数组的types不正确(即非Varianttypes)或静态大小有关。 以下是debugging时出现错误的相关行: Dim SizeSelection() As Variant SizeSelection = Workbooks("Wheels.xlsx").Worksheets("Test").Range("B1:W1") 我也试过使用 Dim SizeSelection() As Variant SizeSelection = Array(Workbooks("Wheels.xlsx").Worksheets("Test").Range("B1:W1")) 但仍然得到相同的错误。 除了上面提到的两个常见的错误之外,有没有人有任何想法,为什么我会得到types不匹配? 我已经尝试删除数组并存储在常规单元格中的值,但没有任何区别。 噢,我应该提到,我试图检索的数据是在另一个工作簿(虽然这应该清楚从上面的代码),该工作簿已经打开。 谢谢! 麦克风

你如何使用VBA循环多个数组?

我有Excel(TABLE)中的下表。 我正试图循环访问一个数组(CODE)中的表和故事。 然后在数组中循环并根据ID(OUTPUT)产生一个唯一的输出。 我已经提供了我有的代码,但有麻烦确定最好的方式来循环ID的数组是相同的 – 即我想通过ID分组数组输出。 表 | ID | Name | Value | ——————— | 01 | John | Value | | 01 | Sam | Value | | 02 | Luke | Value | | 03 | Jack | Value | | 04 | Rob | Value | | 04 | Bob | […]

为什么当我尝试将元素放入单元格时,Split数组会抛出错误?

我正在编写一个程序来parsing通过一个大的文本文件与多个令人难以置信的长arrays,使用逗号来保存在一行中断。 <valueslist list="-213.054,-200.3051,-193.7893,-185.3383,-186.351,-186.797,-185.2577,… 我正在使用拆分函数来尝试和分解它,但是当我尝试执行我的程序时,它抛出了Run-Time error 1004 "Application-defined or object-defined error If InStr(Text, "<valueslist list=") <> 0 Then Column = 5 Text = Replace(Text, "<valueslist list=" & Chr(34), "") Text = Replace(Text, Chr(34) & "/>", "") wrdArray = Split(Text, ",") For i = 0 To UBound(wrdArray) Cells(Row, Column).Value = wrdArray(i) Column = Column + 1 Next […]

删除行和列的数组

我有一些报告,其中有小计散落在他们之间。 我需要删除小计,这是很容易的条件(如在我的IF语句)。 但是,我的下面的代码只是不删除整个行的小计。 Sub clean_up() 'declare variables Dim i As Integer Dim noRows As Integer 'count rows noRows = Range("B2:B387").Rows.Count 'delete row entries that are duplicates.. For i = 1 To noRows If Range("B2").Cells(i + 1, 1) = Range("B2").Cells(i, 1) Then Range("B2:G2").Cells(i + 1).Clear End If Next i End Sub 我不明白为什么Range("B2:G2").Cells(i + 1).Clear of my […]

删除数组中的目录

我有这个代码获取所有文件types。 Dim file as variant file = Application.GetOpenFilename("All Files, *.*", , "Select File", , True) 然后我必须把它打印在纸上的单元格中。 For i = 1 To UBound(file) lRow = Cells(Rows.count, 15).End(xlUp).Row lRow = lRow + 1 ThisWorkbook.Sheets("Main").Range("O" & lRow).Value = CStr(file(i)) Next i 但我想要的是首先检查数组的内容。 如果数组有这种文件types,那么我必须在数组列表中将其删除。 之后,会popup一条消息,指出这些文件已被删除。 dim arr() as string arr = Split("ade|adp|app|asp|bas|bat|cer|chm|cmd|com|cpl|crt|csh|der|exe|fxp|gadget|hlp|hta|inf|ins|isp|its|js|jse|" _ & "ksh|lnk|mad|maf|mag|mam|maq|mar|mas|mat|mau|mav|maw|mda|mdb|mde|mdt|mdw|mdz|msc|msh|msh1|msh2|" _ & "mshxml|msh1xml|msh2xml|ade|adp|app|asp|bas|bat|cer|chm|cmd|com|cpl|crt|csh|der|exe|fxp|gadget|hlp|" _ […]

vba提取数据下划线

我能够find所有的下划线,但我想能够消除后面跟着一个“(”。我怎样才能操纵数组来检查一个空间,然后“(”?只在下面的例子“hello”将被提取,但“for”和“do”不会因为这两个后面跟着一个“(”)。 Sub proj() Dim dataRng As range, cl As range Dim arr As Variant Set dataRng = Worksheets("ItalicSourceSheet").range("C1:C5") '<–| change "ItalicSourceSheet" with your actual source sheet name With Worksheets("ItalicOutputSheet") '<–|change "ItalicOutputSheet" with your actual output sheet name For Each cl In dataRng arr = GetItalics(cl) '<–| get array with italic words If IsArray(arr) Then .Cells(.Rows.Count, […]

VBA – 从数组中选取范围(F $ 1:F $ 100)中的值

我尝试使用一系列选定单元格的值创build一个数组。 我到目前为止是如下: ActiveSheet.Range("$F$3:$F$100").Select varGetArrayAll = Selection 但它只创build第一个单元格F3的数组。 如果有人能帮助我,我将不胜感激。