Tag: range

循环多个范围并根据条件进行连接

我有四个1列范围具有相同的行数:国家,名称,类别,金额。 “国家”,“名称”和“分类”范围包含string值,“金额”范围有双倍。 我面临的问题是:只要金额高于或低于某个值,我需要在每个类别和每个名称下获得所有国家的string。 样本表: 国家名称类别金额 克罗地亚乔恩蓝14 挪威乔恩·蓝23 波兰Rob Green 10 埃及伊娃绿8 加拿大伊娃粉红色32 巴西罗布粉红色25 瑞士Rob Pink 35 俄罗斯Jon Pink 27 瑞典罗布黑色32 罗布·布莱克13 贝宁埃丝特紫罗兰24 莫罗科Jon黄色36 罗马尼亚伊娃黄色35 美国伊娃黄38 日本罗布黄34 对于Amount> 20,每个类别的正确string结果是: Blue: Jon: norway(23) Pink: Eva: canada(32), Rob: brazil(25), switzerland(35) Yellow: Jon: morroco(36), Eva: romania(35), usa(38), Rob: japan(34) etc. 任何想法如何解决这个问题? 没有编写代码,因为我不知道哪里可以开始。 正在考虑multidimensional array,但这超出了我的编码能力…任何帮助非常感谢

查找最后一列,然后查找该列中的最后一行

我需要find工作表中的最后一列,然后find特定列中的最后一行。 对于最后一列,我使用这个: lastcol = .Cells(1, .Columns.count).End(xlToLeft).Column last_row = Range((Cells(Rows.count), lastcol).Find("*", after:=r, LookIn:=x1values, lookat:=x1part, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False) 这是工作表的快照: 有些人也可以帮助我把所有的数据,我想保存在一个数组2维然后粘贴到Excel工作表上的数据?

Excel VBA – 使用.cells属性错误将范围分配给变体,

我有下面的代码提取下面, Dim profileRange as Variant profileRange = ActiveWorkbook.Worksheets("Scenario").Range(Cells(1, "C"), Cells(5, "C")) 然后在expression式中得到以下内容 Watch Expression: profileRange Value: Empty Type: Variant/Empty 它应该得到在该表中分配的数字…从1到5 另外,我在运行代码时得到了这个 Error 1004: Application or Object defined error 有人可以帮忙吗?

在Word VBA中查找字符数

我试图从Excel电子表格中dynamic生成一个Word文档。 我现在要做的方式是基本上手动查找字符数,然后最终插入给定的项目在特定的字符数。 给定的项目存储在Excel中。 所以它会是这样的: 电子表格 | 1 | 2 | 3 Char | 50 | 125 | 250 Item | Hello | Darkness | Friend 然后在VBA这个词中使用 Dim myCheck As ContentControl Dim myRange As Range Dim rng As Long rng = ''whatever char is for that column Set myRange = ActiveDocument.Range(start:=rng, End:=rng) Set myCheck = ActiveDocument.ContentControls.Add(wdContentControlCheckBox, […]

代码为userform(微调)返回types不匹配,如果select大量的单元格。 VBA Excel

我明白,types不匹配通常是当你错误地定义一个variables,但我不确定在这种情况下是否合理。 我的代码,下面贴出来,是一个用户窗体上有一个微调,你点击用户窗体之前突出显示的单元格增加/减less指定的百分比,当你点击微调button。 这适用于较less的单元格。 所以我可以select5个不同范围的4个单元格中的每个例如,它将按预期行事,但是当我select比这更多时,我得到一个types不匹配错误,当我使用微调和debugging器突出显示singlecell.Value = singlecell.Value *在下面的pvar代码。 这似乎只影响select的每个范围的最后几行。 有谁知道这是为什么或如何纠正这种情况? 由于我的知识有限,似乎不是完全有意义的,因为types不匹配错误。 我唯一的假设是,当定义AS范围时,可以存储范围的数量是有限制的? 请参阅下面的代码: '打开sinner userform的代码 Public SelRange As Range Public pvar As Double Public SelVar As Double Public InitVar As Double Public GetAllValuesAtOnceAsArray As Variant Sub Button2_Click() Spinner.Show End Sub '用户表单代码' Option Explicit 'on opening userform this sets the variables Private Sub UserForm_Activate() pvar = 1 […]

VBA Excel:奇数下标超出范围错误(9)

我遇到了一个奇怪的VBA下标超出范围错误在这个简单的子: Sub writeTypes(ByVal rowNb As Long, ByVal colNb, ws As Worksheet) On Error GoTo ErrorHandler_ObjMethod Const METHOD_NAME = "writeTypes (CCase)" With ws If Not isArrayEmpty(pTypes) Then For i = LBound(pTypes) To UBound(pTypes) If pTypes(i) <> "" Then .Cells(rowNb, colNb).Value = .Cells(rowNb, colNb).Value & pTypes(i) & ";" ElseIf i = UBound(pTypes) Then .Cells(rowNb, colNb).Value = Left(.Cells(rowNb, […]

多个命名范围的最大值

我遇到了很多麻烦。 我想在VBA中复制这个值: =MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3)) 我有一个不可能的时间试图做到这一点。

指定从A2到无限的范围

我正在尝试引用从A2开始的范围,永远不会结束。 例如,如果我想第2行,直到第5行,我会做 $A$2:$A$5 但是如果我想要结束开放呢? $A$2:?? 这可能吗?

Excel VBA – 将表格列存储到范围variables中

我目前正在使用excel表格的对象types的excel VBAs ListObjects进行实验。 我想存储一个表列的范围到一个variables 。 这是我能做的事情: 'store a group of cells into a range variable dim rng as Range set rng = activesheet.Range("A1:A10") 'select a table column dim table as ListObject set table = activesheet.listobjects("Table1") table.ListColumns(1).Range.Select 虽然上述两个工作,我不明白为什么以下不起作用:( 编辑:它的工作原理 ) dim rng_column as Range set rng_column = table.ListColumns(1).Range 我尝试过其他variablestypes,例如variant或ListColumn ,但是没有任何东西将单元格存储到variables中。 在上面的例子中,没有错误,但variablesrng_column仍然是<empty>我知道还有其他的解决方法,但我真的想了解这里有什么问题。 更新经过一些有用的评论,我可以缩小问题的范围。 一切正常。 但是,我犯了两个错误。 首先,我在variables名称中有一个拼写错误。 (我应该包括选项明确注意到这一点)。 […]

如何在Calc(或Excel)上定义dynamic范围?

假设我有一个Libreoffice.org Calc(也许这也适用于MS Excel)对象定义为范围$Sheet1.$A$1:$A$4 。 我也已经声明了一个值为1的常量。为了这个模型的目的,我们称之为startingLine 。 这两个对象都在“定义名称”对话框中正确定义(快捷键:Ctrl + F3)。 我想要做的是将定义范围的行变成variables。 在我看来,所有它会采取这样的定义: $Sheet1.$A$startingLine:$A$4 ,但这是行不通的。 : – / 我正在寻找一个简单的电子表格解决scheme,不幸的是macros这次不会为我做。 尽pipe如此,使用R1C1引用的解决scheme已经足够好了。 🙂 任何帮助将不胜感激!