Tag: 数组

有没有办法连接Excel中的两个数组没有VBA?

我想创build一个公式,返回两个不同长度数组的连接。 我需要这个连接的另一个公式的一部分,我想避免“帮手”行,如果可能的话。 看下面的例子数据。 目标是产出{10;11;12;13;20;21;22} 。 当然,这可以很容易地被硬编码到公式中,但是这些值是dynamic的,所以这不是一个选项。 我尝试了以下内容: {A1:A4;B1:B3} 但是这显然是无效的Excel语法。 有解决scheme吗?

数组循环通过单元格值Excel VBA

我已经定义了两个单独的数组内的单元格。 (即source_arr = ("B4","B5"…)和target_arr = ("B5","B6") 我想遍历两个数组,并设置目标工作簿单元格的值等于源工作簿单元格的值。 现在它将所有单元格设置为一个值。 For i = LBound(source_array) To UBound(source_array) For j = LBound(target_array) To UBound(target_array) Data = source_workbook.Sheets("Questionnaire").Cells(source_array(i)).Value target_workbook.Sheets("Questionnaire").Cells(target_array(j)).Value = Data Next j Next i

使用单元格公式计算每个月的独特名称

我有他们被联系的人和date的名单。 从该清单中,我需要为每个独特的个人提取每月的联系人数量。 这里是一个例子列表: 我需要一个D:D中的公式,它为每个独特的个体返回一个date的第一个实例。 我真的不想手动键入所有这些1。 我会用我想到的来更新它 – 我通常喜欢certificate我已经做了一个尝试,但是我真的不熟悉数组,而且我确定我会在这里需要一个。 我感谢帮助,谢谢。

使用WorksheetFunction.Frequency后,索引总是超出VBA范围

我试图将大量数据(多达一百万个条目)分成大约60个分档,用于一些数据分析,最终将被input到直方图中。 问题是,当我使用下面的代码: Dim myBinnedData As Variant myBinnedData = Application.WorksheetFunction.Frequency(myData,myBins) '我必须以这种方式Dim myBinnedData否则我得到一个错误,说它不能分配给一个数组 我永远不能通过使用索引访问myBinnedData。 我能够获得数据的唯一方法是通过For Each循环,但在处理每个点之前,我需要myBinnedData中的第一个和最后一个元素。 一切工作正常在For Each循环,但任何时候我尝试索引(即数据= myBinnedData(0)),我得到索引超出范围错误,无论索引号。 我使用TypeName检查了这个types,它是Variant()。 所以问题是什么是正确的方式索引由WorksheetFunction.Frequency函数创build的数组? 任何帮助,将不胜感激!

如何创build一个VBA函数来查找数组中每一行的最大值

我想创build一个自定义函数来查找数组中每个“行”的最大值。 例如,我有一个样本5×3维数组如下: [ 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0] 我想要得到每行的最大值,它应该以下面的forms出现:[0 1 1 1 0] 请注意,这只是一个例子。 我面对相当多的matrix需要这个任务。 我在网上做了一些研究,但找不到一个简单的解决scheme。 有一个我发现需要输出到电子表格之前find最大值(输出到电子表格不是首选,但)。 这个代码如下: Function Max_Each_Row(Data_Range As Range) As Variant Dim TempArray() As Double, i As Long If Data_Range Is Nothing Then Exit Function With Data_Range ReDim TempArray(1 To .Rows.count) For […]

写入数组到单元格的单元格:数组没有完全显示在范围内

所以我有一个有很多数据的数组,我曾经把数据写入Excel工作表的循环,但是花了太长时间,所以我研究了更快的select。 现在我尝试显示信息,并将单元格的值范围直接设置为数组: Sub displayRandomMatrix(clientsColl As Collection, resultWorkbook As Workbook) Dim NamesRange As Range With resultWorkbook.Worksheets("matrix_random") … Set NamesRange = _ .Range(.Cells(2, 1), .Cells(clientsColl.Count + 1, 1)) Dim NamesArray() As String ReDim NamesArray(1 To clientsColl.Count) Dim clientRow As Long Dim simulation As Long clientRow = 1 simulation = 1 Dim clientCopy As client For Each clientCopy […]

如何在所有工作表中获取单元格的值

我正在尝试编写一个VBScript函数,它将Excel文档的所有选项卡中的单元格(“E1”)的值收集到一个数组(Reviewers)中。 我写了下面的代码,但数据没有被存储到数组中,有人可以告诉我我做错了什么? 这是代码:

数组中的VBA Excel百分比格式

有没有办法在数组中保存特定的格式? 我试图find两个单独的网格中的数字之间的百分比差异和规则差异。 我可以单独做这些事情,但是当我尝试把答案放在同一个工作表中时,我遇到了错误。 截至目前,我计算百分比差异,然后select我的答案是网格,并更改样式和数字格式。 但是,当我尝试显示差异(如“百分比差异/差异”程序返回百分比差异长十进制。我知道,原因是因为数字格式和样式格式不保存到实际数组,但我无法弄清楚如何解决它。 我已经尝试了以下内容: 在创build斜线和差异之前更改格式 将答案数组分配给活动单元格中的当前值(值仍然是小数点,而不是百分比对应点) 计算百分比差异和差异,然后改变格式(这是比实际尝试改变任何东西更微弱的希望) 我不记得我是否尝试了其他的东西,但是我知道它失败了。 *****例子****** 用户将发送我的程序到一个特定的工作簿,其上有两个数字网格的工作表。 这些网格具有完全相同的尺寸。 我的程序将计算这些表(Sheet1 – Sheet2),差异百分比((Sheet1 – Sheet2)/ Sheet2)和两者之间的差异。 这三个计算是在程序创build的三张单独的图纸上显示的。 程序产生的所有数字将在对应于首先得到数字的单元格的单元格中。 此外,第三张(百分比和差额)被视为“百分比差异”。 这里有一个testing数字的例子。 网格1 12.0 5.0 2.0 10.0 网格2 6.0 7.0 1.0 3.0 DIFF 6.0 -2.0 1.0 7.0 百分比差异 100.00% -28.57% 100.00% 233.33% 所以“两个”选项卡将如下所示: 100.00%/6.0 -28.57/-2.0 100.00%/1.0 233.33%/7.0 对不起,没有这样更多的网格。 我不知道如何呈现。 谢谢

excel vba填充数组

我有以下问题。 我有一个用户窗体的input字段。 用户将input参与者的号码。 我有四组参与者: A组:5 B组:6 C组:1 D组:2 每个参与者都应该这样命名:{GA1,GA2,…,GD2}我想按照这个顺序把它写入一个数组,然后用这个数组来填充名字的单元格,但是所有我想到的都是四个将其写入数组并且失败。 有一个更好的方法吗? Dim GA As Integer Dim GB As Integer Dim GC As Integer Dim GD As Integer Dim PartSum As Integer GA = TextBox32.Value GB = TextBox33.Value GC = TextBox34.Value GD = TextBox35.Value PartSum = GA + GB + GC + GD Dim NamingArray() As String […]

收集列中的所有名称,并将其放入Excel中的数组中

我对于excel和VBA很新,需要帮助解决这个问题。 问题是我有一个公司名称不同的专栏,例如苹果,微软,华硕,公司可能会多次使用。 如何在VBA中填充包含此列的不同成员的数组?