Tag: 范围

在vba中添加范围

我有12列长的多列数字。 行代表每个月的销售额。 我想把每个相应的月份加起来。 有4个月的列被添加。 你如何在Excel VBA中做到这一点? 在这个链接有一个我的代码的图片:

Range.Replace无法在范围公式中查找和replace

我试图将公式中的“=”更改为“=”(基本上试图将公式保留为文本),但不起作用。 Set rng = Range("A1:A500") rng.Replace "=", "'=", xlPart 但是由于某种原因,这不起作用。

Excel 2007 VBA将命名范围的一部分分配给数组

我有一个每月销售数字表格 – FreqData1。 每列表示一个月份,编号为1到12.用户从下拉列表中select其中一个数字。 我有代码find列号,我试图将该列中的数据分配给一个数组,所以我可以用它复制到不同的电子表格,但与我的基本VBA知识,尽pipe大量的search,我一直无法find如何做到这一点或不同的方法来执行此代码。 任何人都可以帮助请 Sub AnnualFreqMacro() Dim TPNoInt As Long, BranchNoInt As Long, ColNo As Long Dim FreqArray() Worksheets("Freq data").Activate TPNoInt = Range("B42").Value BranchNoInt = Range("B41").Value ColNo = Application.Match(TPNoInt, Range("TPBr1"), 0) CharaArray = Range("FreqData1").Cells (1, ColNo), Cells(16, ColNo)) End Sub 提前谢谢了

使用VBA联合函数有条件地将单元格添加到范围

我正在尝试使用联合方法将特定的单元格添加到各自的范围,具体取决于它们的内部颜色。 我正在使用的代码如下所示: For Each cell In EntirePossibleRange If cell.Interior.Color = RGB(132, 151, 176) Then Set AccessabilityRange = Union(AccessabilityRange, Range("B" & cell.Row) Else If cell.Interior.Color = RGB(244, 176, 132) Then Set ConsistencyRange = Union(ConsistencyRange, Range("B" & cell.Row) Else If cell.Interior.Color = RGB(255, 217, 102) Then Set EfficacyRange = Union(EfficacyRange, Range("B" & cell.Row) Else cell.Interior.Color = RGB(191, […]

Excel:总和除了前三名之外的其他值

使用Excel我想获得的值的总和的前三个值以外的范围内。 范围有#N / A值我想忽略。 水平范围。 例如,前4个值都是8的情况下,我只希望8个中的3个被排除在总和之外。 我设法使用以下函数将范围内的前三个值相加: =SUM(LARGE(IF(NOT(ISNA(AW2:BH2)),AW2:BH2),{1,2,3})) 我假设我可以对上面做一些小的调整,但是我的大脑不工作。

VBA运行时错误1004两位数的范围

我的意图是select连续的其他单元格。 我的代码(我敢肯定,有一个更好的方法来完成这一步,但一次我猜): Range("C" & row & ":C" & row + 1 & ", E" & row & ":E" & row + 1 & ", G" & row & ":G" & row + 1 & ", I" & row & ":I" & row + 1 & ", K" & row & ":K" & row + 1 […]

将范围的值分配给数组

我写了下面的代码,在即时窗口打印210 。 Sub RangeToArr() Dim data() As Variant data = Range("Salary[EmpNum]").Value Debug.Print UBound(data) End Sub 当使用波纹pipe时,下Subscript out of range运行时错误信息将会显示。 Sub RangeToArr() Dim data() As Variant data = Range("Salary[EmpNum]").Value Debug.Print data(210) End Sub 如果data是数组,那么问题是什么,否则,如何访问分配给数组的范围值?

vbscript在范围命令的xlsx文件中select不同的行

我写了一个vbscript来将xlsx文件的特定范围保存到csv文件中。 我想select不相邻的不同列。 每列的范围应包含最后一行的内容(范围("F6").End(xlToRight) )。 我的代码: Public Sub xlsToCsv() Const WorkingDir = "C:\" Const xlCSV = 6 Dim fso, SaveName, myFile Dim objExcel, objWorkbook, sheet myFile = "test.xlsx" SaveName = "test.csv" With CreateObject("Scripting.FilesystemObject") If Not .FileExists(WorkingDir & myFile) Then MsgBox "File not found:" & vbCrLf & WorkingDir & myFile, vbInformation, "Script Cancelled" WScript.Quit End If End […]

VBA动力填充combobox

这里是设置,(所有testing代码) 我在名为“Devmod”的工作表上有一个combobox, 我创build了一个名为testing的模块,并在其中创build了以下子模块 Sub setcomb() Sheet1.Devmod.ListFillRange = Range(Sheets("Device_info").Range("l3"), _ Sheets("Device_info").Range("l3").End(xlDown)).Select End Sub 这运行正常,但不填充任何数据的combobox(虽然它确实select我想要的正确的单元格) 现在我知道我可以做这个创build一个名称范围,然后将其分配给combobox。 但我想要做的是当用户点击一个“更新button”每个combobox更新input的值。 从逻辑上讲,这将是 从Device_info工作表中select单元格的范围,单元格L3处开始并计算出最后使用的单元格。 将这些值分配给combobox。 我可以用一行或两行代码来做到这一点吗? 干杯 DevilWAH 回答我的简单function结束了 Function setcomblist(wsheet As String, startrng As String, Optional endrng As Variant) 'used to populate comboboxes from a dynamic lenth range taking named sheet and starting cell as argument. 'use: combobox.ListFillRange = setcombolist("sheetname", "startcell") […]

VBA UDF Variant / Integer和Variant / String Arrays仅打印输出单元格的第一个值

以下工作很好(感谢这个社区的亲切协助!) Function RangeToArrayToRange(inputRange as Range) As Variant Dim inputArray As Variant inputArray = inputRange RangeToArrayToRange = inputArray End Function 这个function将复制一个input范围到一个完美的输出。 但是,当我对inputArray执行一些操作时,数组看起来很完美,但是在Excel中,只有数组的第一个值会打印到所有单元格。 在这个例子中,我从一些inputstring中parsing出一个数字。 input范围: ABC=1X:2Y ABCD=10X:20Y ABCDE=100X:200Y 码: Function RangeToArrayToRange(inputRange As Range) As Variant Dim inputHeight As Integer inputHeight = inputRange.Count Dim inputArray As Variant inputArray = inputRange Dim strippedArray() As Variant ReDim strippedArray(1 To inputHeight) […]