Tag: 数组

在Excel中检索模式数组的值

我们有一些有数千个数字的电子表格,我们希望返回模式数组。 MODE.MULT只能处理254个数字。 试图克服这一点,我们分开模式arrays检查单列的252个单元格。 然后,我们将从这些数字中检查模式(理解这增加了一定程度的错误,但是考虑到设置的大小,我们认为它是小的)。 这导致我们为模式函数分配一个锯齿状的数组,但是我们在检索其中的值时遇到了问题: Dim ModeArray() As Variant 'Also tried ModeArray as not an array of variants but that left the same errors Dim RowSet As Integer RowSet = 2 Dim rr As Range For n = 2 To 252 Set rr = Sheet5.Range(Sheet5.Cells(7, n), Sheet5.Cells(260, n)) If Application.WorksheetFunction.CountBlank(rr) < 253 Then 'Needed because […]

combobox和文本框的VBAdynamic数组单击事件

嘿,我有以下的VBA代码,允许我有一个dynamic创build的combobox和文本框到用户窗体上的点击事件。 用户窗体: Option Explicit Dim comboboxBoxColct As New Collection Dim textboxBoxColct As New Collection Private Sub UserForm_Activate() Dim comboboxEvent As Class1 Dim textboxEvent As Class1 '..lots more code within here If LCase(TypeName(controller(i))) = "combobox" Then Set comboboxEvent = New Class1 Set comboboxEvent.comboboxBox = controller(i) comboboxBoxColct.Add comboboxEvent ElseIf LCase(TypeName(controller(i))) = "textbox" Then Set textboxEvent = New […]

VBA Excel – 从另一个工作簿读取数据

所以我只是试图从另一个工作簿中的单元格中调用数据,但是我的代码只是返回“#name?” 当我使用“细胞(3,3)”。 Cells(1, 1).Formula = "='\\Drcs8570168\shasad\[CR Status.xlsx]Sheet1'!cells(3,3)" 但是,如果我这样写,这是行不通的 Cells(1, 1).Formula = "='\\Drcs8570168\shasad\[CR Status.xlsx]Sheet1'!c3" 有人能告诉我为什么吗? 问题是我需要使用像cells()这样的东西,以便我可以通过多个单元格运行这个值并将值赋给一个数组。 有人可以帮我吗? 谢谢!

无法设置PivotItem类的Visible属性

运行时错误“1004”:无法设置PivotItem类的Visible属性 Excel VBA: Dim pt As PivotTable Dim pf As PivotField Dim pi As PivotItem Set pf = pt.PivotFields("Snapshot Date") For Each pi In pf.PivotItems If pi.Name <> "(blank)" Then pi = DateValue(pi) 'I have tried using Cdate, Cdbl, Cstr as well. End If Next pi 错误发生在这里: i = 1 Do Until i >= pf.PivotItems.count […]

获取VBA将数组打印到Excel中 – 数组为空

我有一个小程序,随机产生不同的生产率。 我开始没有使用数组的程序,数据在每一行打印,工作起来很慢。 所以现在我试着做与数组相同的,我的问题是打印值: 我的代码(如果你想testing运行它,应该可以将代码复制到vba中,并在excel工作表中有一个名为“Prodthishour”的单元格): Sub Production2() Totalproduction = 10000 Maxprodperhour = 150 Minimumatprod = 50 Timeperiod = 90 Nonprodhours = 10 'Isnt used yet Openhours = 80 Producedstart = 0 'What we have at the start of the production, often nothing Prodleft = 10000 'The total production is what is left in the beginning Dim […]

为什么我们可以在Excel的SUMPRODUCT()中使用除法运算符,但是不能用在其他函数中?

我很惊讶地发现,在Excel中,你可以在SUMPRODUCT函数中划分一个范围(根据这个答案: https : //stackoverflow.com/a/13650170/50899 )。 请注意,这不需要使用数组公式(即按Ctrl + Shift + Enter不是必需的) =SUMPRODUCT(1/A1:A3, B1:B3) <= note the division operator 但是,为什么你不能这样做,例如=SUM(1/A1:A3) ? 可以应用哪些function? 这个function的名字是什么?

如何制作基于1-index的数组

这是一个简单的问题 – 如何在VB.NET中创build索引从1开始的对象数组? 我需要这样一个对象来将范围写回Excel电子表格,并且只接受从1开始的索引。 当我从Excel中读取范围时,它会自动在VB.NET中创build一个基于1的对象,但是当我尝试创build另一个对象时,它不允许将lBound设置为1。

公式中的多个数组

我需要计算一个范围内某个符号的数量 我曾尝试使用数组公式,但它返回#N/A 下面的代码将工作: {=SUM(If(MID(B297:B298,{1,2,3,4,5,6,7,8},1)=$B$299,1,0))} 在那里我计算$B$299中的符号出现在范围B297:B298 此代码不起作用 {=SUM(If(MID(B297:B298,ROW(1:8),1)=$B$299,1,0))} 我需要search超过250个字符的范围内的每个单元格。 有没有办法使用ROW(1:255)例如,或者我需要input{1,2,3,4,5…254,255 etc.) ?

如何将剪贴板放入二维数组(excel vba)

我很新的Excel VBA,我想从剪贴板的文本到第二个数组,第一个分隔符vbNewLine和第二个分隔符空间。 如何创build一个未知大小的二维数组? 我可以拆分一个数组,就像下面我失败的地方一样吗? Sub CommandButton1_Click() Dim DataObj As MsForms.DataObject Set DataObj = New MsForms.DataObject Dim strArray() As String On Error GoTo ERRROR '~~> Get data from the clipboard. DataObj.GetFromClipboard '~~> Get clipboard contents myString = DataObj.GetText(1) '~~> Split into string, delimiter vbNewLine strArray = Split(myString, vbNewLine) 这里是我失败 '~~> Split each strArray and store in […]

VBA:试图返回一个数组,但只获得第一个值

我想这个问题已经被问了上千次,但是经过几个小时的search,我依然找不到任何帮助。 所以我需要使用一个数字向量作为input,对所有这些数字进行计算,然后将结果作为与input向量具有相同维数的向量返回。 所以我们可以说,我想采取一些数字,然后减去所有的一个,所以我的Excel表应该看起来像这样 AB 1 6 5 2 7 6 3 8 7 4 9 8 5 10 9 其中A列是inputvector,B应该是输出。 但是我的输出只是一列零。 debugging还会告诉在输出向量中有正确的数字,但是我只能打印出第一个值,然后传送到所有单元格。 目前我的代码看起来像这样 Public Function Vector(values As Range) As Variant Dim arraySize As Integer, i As Integer arraySize = values.rows.Count Dim returnArray() As Variant ReDim returnArray(arraySize) For i = 1 To arraySize returnArray(i – 1) […]