Tag: 范围

一个数组(0)给了我一个超出指定范围的值

我试图分配一些值给VBA中的数组,问题是,当我尝试打印每个数组的值时,我得到一个比预期更多的值,因为第一个值分配给头。 我有这样的价值观: A3 – 类别 (标题) A4 – 全球 A5 – KAM A6 – 推销员 A7 – 外部 A8 – pipe理员 这是我的代码: Function xyz() Dim Category as Variant Set Category = Sheets("Reports").Range("A4:A8") End Function 我得到的价值是: MsgBox Category(0) =Category MsgBox Category(1) =Global MsgBox Category(2) =KAM MsgBox Category(3) =Salesman MsgBox Category(4) =External MsgBox Category(5) =Admin 据我所知,一个数组的选项基础默认设置为'0',为什么类(0)值考虑“A3”单元而不是“A4”单元?

如何编辑范围variables而不编辑工作表上的单元格

我有一个用户窗体编辑我的工作簿中的某些表的值。 在用户表单代码中我有这样的: Public vTable As Range Private Sub UserForm_Initialize() Set vTable = Sheet1.Range("Table1") vTable.Cells(1, 1).Value = "New Value" End Sub 问题是,当vTablevariables中的值发生更改时,工作表上单元格中的值也会发生更改。 我想阻止这种事情发生; 在用户单击用户窗体上的“完成”button之前,没有任何更改应该应用于工作表。

图表中使用的命名范围的偏移公式?

我正在尝试使用(dynamic)命名范围作为我的图表的来源。 我希望能够使用一个命名的范围作为图表的来源,但到目前为止,这是行不通的。 例如:我的数据范围从A1开始,一次向右扩展一列。 所以现在的范围是A1:E38。 明天是A1:F38等 所以我用这个公式创build了一个命名的范围,并试图用它作为图表的来源: =OFFSET('ontwikkeling punten'!$A$1;0;0;COUNTA('ontwikkeling punten'!$A:$A);COUNTA('ontwikkeling punten'!$2:$2)+1) 但是,excel不接受这个数据源为我的图表。 当我select当前范围时,说A1:E38,并从中创build一个图表,根本没有问题。 为什么Excel不接受我的dynamic命名范围作为我的图表来源? 否则,我将不得不创build38个单独的数据范围。

在数组中引用范围

我有一个代码,如果它们是灰色,将单元格变成白色,并将该范围存储在数组中。 然后我检查数组中的每个范围,看看它是否为空,模式是固体(白色)。 如果是这样,那么我把它变成一个较浅的灰色阴影。 我的代码来testing这是目前 Dim Prev() As Range 'I also tried Prev() As Variant and have the same problem Dim PrevCount As Long Dim Counter As Long Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Interior.Pattern = xlGray50 Then Target.Interior.Pattern = xlSolid PrevCount = PrevCount + 1 ReDim Preserve Prev(1 To PrevCount) Set Prev(PrevCount) = Target […]

VBA:范围参考数组

在VBA中,我试图创build一个范围引用数组。 这是我目前的尝试: Dim columnName() As String Dim colIndex() As Long Dim colRange() As Range colCount = 10 ReDim columnName(colCount) ReDim colIndex(colCount) ReDim colRange(1 To colCount) columnName(ID) = "ID" 'etc For i = 1 To UBound(columnName) colIndex(i) = WS.Range("A1", "ZZ1").Find(columnName(i), LookIn:=xlValues, MatchCase:=False).column colRange(i) = WS.Range(Cells(2, colIndex(i)), Cells(LastRowIndex, colIndex(i))) If 1 = 1 Then 'debugging Application.ScreenUpdating = […]

vlookup并返回包含非活动工作簿格式的整个单元格

我正在寻找从不同的工作簿tableArray值,并返回值和整个单元格的内容。 这个答案几乎是我要找的。 如果我修改这个链接copyFormatting例程( Private Sub copyFormatting(destCell As Range, srcCell As Range) )复制单元格并粘贴全部,而不是格式化单元格字体: srcCell.Copy destCell.PasteSpecial xlPasteAll 然后,代码按原样返回值在同一工作簿中。 任何想法如何我可以得到设置的范围线 – fromCell.Parent.Range(destAddr) 在另一个工作簿工作表中引用单元格地址时工作?

从范围中排除一行

我正在做一个Excel的WPF项目。 在Excel表格中,我select了一个范围,如下所示: Range c1 = newSheet.Cells[3, 2]; Range c2 = newSheet.Cells[8, 10]; Range rng = (Range)newSheet.get_Range(c1, c2); 我需要删除,可以说,从这个范围内的第5行。 如何根据excel表中的索引从一个范围中排除一行?

对象'_Global'的方法“范围”失败

嗨,我是非常新的VBBA,第一天使用它,即时通讯试图获得下面的代码来读取列表,并删除所有的字母和空格,所以我只剩下在右边的列中的数字。 这段代码是我在网上find的东西,我试图为自己的目的进行编辑,任何帮助将大大地被赞成。 我仍然疯狂地用Googlesearch,看看我能find什么。 我得到错误在线开始“对于每个细胞” Sub Remove_Alphabets_SpecialChar_RetainDecimalNumber_Test() Dim RegX As Object Dim Rng As Range Set RegX = CreateObject("vbscript.regexp") With RegX .Global = True .Pattern = "[^-0-9-.]" End With Range(Range("d4").End(xlDown)).Select For Each cell In Range(Selected) Rng.Offset(, 1) = RegX.Replace(Rng, "") Next cell End Sub

VBA定义多个命名范围

我正在使用近200个命名范围(每列是NR)的工作表。 我现在想让他们dynamic而不是像他们定义他们 PersonID = =RawData!$A$2:$A$100 我想这样做 PersonID = OFFSET(RawData!$A$2,0,0,COUNTA(RawData!$A:$A),1) 但我不想手动做这个! 有没有办法做到这一点在Excel以外的texteditor或有办法做到这一点编程? 我已经有了第一种方式完成的200个NR,但手动经过它们的想法都改变了我。

Excel VBA – 将范围读入Variant,同时保持与列号相同的索引

我在Excel 2013中写了一个vbamacros。我有下面的代码来读取一个variables的范围, Dim MyBuffer As Variant With MyWorkSheet MyBuffer = .Range(.Cells(1, NAME_COL), .Cells(10, AGE_COL)).Value End With 'Here NAME_COL = 5, AGE_COL = 9 现在MyBuffer是一个二维数组,索引范围从(1,1)到(10,5)。 我想知道是否有办法维护指标的第二部分相同的列号。 即从(1,5)到(10,9),这样我可以使用常量NAME_COL,AGE_COL等访问variables。 这主要是为了可读性(以便其他程序员可以很容易地看到我正在访问哪个条目)和可维护性(在表单上添加/删除/交换列的情况)。 感谢任何帮助,找出相同的。 请注意,我不考虑进一步复制到另一个具有修改索引的数组,或具有另一组Variant位置(NAME_POS,AGE_POS等)的常量。