Tag: dynamic

Excel中的dynamic范围

我有单元$A$4:$J$13定义为myRange 。 我希望能够将H列中的值的总和放在$H$3 myRange (即$H$4:$$13 )之内。 我知道=SUM(OFFSET(myRange,0,7,10,1))将做的伎俩,直到…。 用户在myRange插入一行或多列。 上面的7列和10行不更新。 有没有办法来dynamic指定我希望总结的单元格的边界?

使用“图表系列值”的MODE.MULTdynamic生成数组会导致Excel 2010崩溃

首先,我想澄清一下,我正在寻找一个技术性的解释, 为什么会出现以下问题,而不是为了达到预期结果的替代设置(我将在任何情况下提出几个这样的替代品,作为这个问题)。 另外,我还没有在Excel 2010以外的Excel 2010版本中testing过,所以我不知道这个问题是否是版本特定的。 Row/ BC Col 1 X 91 2 X 96 3 X 21 4 X 64 5 3 6 X 60 7 52 8 X 37 9 79 10 91 假设所有的input都是在Sheet1 ,那么例如给出一系列在C1:C10范围内的数字,并且B1:B10中的每个input都是“X”或不是(上面给出的例子),下面的施工: =INDEX($C:$C,N(IF(1,MODE.MULT(IF($B$1:$B$10="X",{1,1}*ROW($B$1:$B$10)))))) 将被强制执行,将生成一个n个条目的垂直数组,其中n等于下面的结果: =COUNTIF($B$1:$B$10,"X") 该数组将包含来自C列的n个条目,其列B中的对应条目是“X”。 对于上面的例子,这个结构会返回: {91;96;21;64;60;37} 然后将此公式作为Name Manager的(工作簿范围) Defined Nameinput,例如名称Series_MODE_MULT 。 需要注意的是,作为一个Defined Name ,这个构造在默认情况下被评估为一个array formula ,所以满足了前面提到的“被强制转换”的条件。 当试图创build一个简单的图表(例如,列)与一个系列,其Series Valuesinput为: =Sheet1!Series_MODE_MULT […]

使用dynamic颜色键的Excel vba条件格式

我试图创build一个Excelmacros,将条件格式应用到另一列中的单元格的条件和另一列(本质上是一个颜色键)中的单元格的格式的目标列。 颜色键是单列图表,每行中包含文本的彩色单元格(例如蓝色单元格为文本“蓝色”)。 目标是能够更改颜色键中的填充颜色或文本,并使目标单元格自动更改为新的颜色或条件,而无需通过Excel的条件格式规则pipe理器对新的RGB进行硬编码。 这样可以节省很多时间,因为有很多颜色,而且它们必须是精确的RGB匹配。 以下是我到目前为止: Sub ColorCode() 'Applies conditional formatting to Input Chart using the Color Key Application.ScreenUpdating = False Dim ColorKey As Range Set ColorKey = Worksheets(2).Range("C6:C19") Dim kCell As Object Dim lCell As Object Dim mCell As Object With Worksheets(2) For Each mCell In Worksheets(2).Range("Input[Duration1]") If mCell.Value <> "0" Then For Each lCell […]

根据单元格vba的特性创build一个dynamic范围

我想比较两个不是粗体的单元格的总和,或者单元格内部的颜色是空的。 我想比较列的单元格的值的总和,只有当列的标签是“miercoles”,“jueves”,“viernes”或“sabado”,并且在查阅四列后才着色最大的结果对于第一个标签1,2,3和4.我做了这个代码,但我没有在variablesg中保存任何范围。 我如何创builddynamic范围g? Sub reuniones_dos_horas() Dim r As Range Dim r2 As Range a = 2 While Sheets("Dinamicos").Cells(27, a) <> "" b = 1 While Sheets("Dinamicos").Cells(27, a) <= b + 3 c = 2 While Sheets("Dinamicos").Cells(29, c) <> "" Drev = Sheets("Dinamicos").Cells(29, c) If Sheets("Dinamicos").Cells(29, c) = "Miercoles" Or Sheets("Dinamicos").Cells(29, c) = "Jueves" Or Sheets("Dinamicos").Cells(29, […]

dynamicsearch与高亮 – Excel VBA

我想实现以下目标:在我的Excel表中,我有一组数据,我已经通过创build一个“search框”来应用dynamic过滤。 过滤本身工作正常,没有问题,但是,我想进一步改善它,突出显示在红色过滤行中的文本(这是进入search框)。 我附上我想在最终版本中看到的截图。 任何想法如何可以input到我当前的代码? 一如既往,任何帮助非常感谢! 谢谢! 以下是我用于dynamic过滤的代码: Private Sub TextBox1_Change() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual If Len(TextBox1.Value) = 0 Then Sheet1.AutoFilterMode = False Else If Sheet1.AutoFilterMode = True Then Sheet1.AutoFilterMode = False End If Sheet1.Range("B4:C" & Rows.Count).AutoFilter field:=1, Criteria1:="*" & TextBox1.Value & "*" End If Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub

Excel求解器VBA,多个dynamicinput

我正在使用求解器加载项的Excel,我用它来优化问题。 然而,我正在靠墙运行我的头。 我必须说我不擅长擅长,所以这可能是一个简单的问题,但我已经在网上search了几个小时,所以我希望你能帮助我。 ByChange中设置的variables需要如下所示: SolverOk SetCell:="$A$8", MaxMinVal:=2, ValueOf:="0", ByChange:="$B$4”:”$B$12”, “$C$4” 问题在于“$ B $ 12”可以并将根据包含在解决进度中的另一个因素(nRow)而全部改变。 然后我一直在使用这个: ByChange:= .Range(Cells(4 , 2) , Cells(4+nRow , 2).Address但是,我似乎不能将单元格“C4”添加到variables列表,它不断发出错误,不会运行我VBA脚本。 我希望你能帮助我。 非常感谢你 最好的问候Peter Hansen

dynamic使用偏移量优秀

我有一个关于在Excel中使用偏移量函数的问题。 基本上我得到了两个考虑:首先,我需要AD列中的计算,所以:AD = AA + AG _(+ 1)。 与AG _(+ 1)我的意思是col AG的下一个价值。 同样,我需要在列AF中进行以下计算:AF = R + M _( – 1),其中M _( – 1)表示先前在列M中的值。 现在,如果我在所有行中都有值,这将是直截了当的,但事实并非如此。 我的6000多行中有很多空白,这对我来说很复杂。 我认为你可以使用偏移function,但我似乎无法正确。 有什么build议么? 下面是一个小的虚拟示例: 最好

如何循环dynamic范围并将该范围内的select信息复制到另一个表单

我已经创build了一个大约160行的VBA脚本,它生成了您在下面看到的报告。 如果不使用单元格引用(因为每次运行时都会更改date范围),现在我需要将用户标识,名称,总小时数,总分钟数,加class时间1和加class时间2复制到表单2中。 任何关于如何构buildVBA脚本来search行B的build议,直到find空白为止,find空白时,复制该行J,K,L,M行上的值以及复制值上面的行C – 现在将这些值粘贴在图表2上。 – 继续此过程,直到find两个连续的空白或数据的结尾… 即使你可以build议一个不同的方式来解决这个问题,而不是我上面所说的逻辑,这将是不胜感激。 如果您有兴趣,我可以分享整个代码,并向您展示我开始使用的数据。 预先感谢你,J

循环遍历工作表并根据dynamic工作表参考执行计算

是否有可能通过表单列表进行循环,并执行一些计算工作表的不同列表中的工作表引用? 例如,您有一个工作表的列表(列表1),它将成为计算的目的地,并且还有另一个计算所基于的工作表的列表(列表2)。 因此,假设列表1中有sheet1和sheet2,列表2中有sheetA和sheetB。基于sheetA的计算将出现在sheet1中,基于sheetB的计算将出现在sheet2中。 我认为代码看起来像这样: Sub LoopthroughWorksheets() Dim sheet_name As Range Dim sheet_name2 As Range Set sheet_name2 = Sheets("WS").Range("F:F") For Each sheet_name In Sheets("WS").Range("C:C") If sheet_name.Value = "" Then Exit For Else With Sheets(sheet_name.Value) .Range("K1") = .Range("sheet_name2.Value!A14").Value End With End If Next sheet_name End Sub 我在这一行收到“运行时错误”1004:应用程序定义或对象定义的错误“: .Range("K1") = .Range("sheet_name2.Value!A14").Value 任何帮助深表感谢。 问候,

将dynamic列移动到正确的VBA(对象请求错误)

我正在尝试根据标题值select列,然后将它们移到最后。 我知道这是正确select列,并确定下一个空列。 但是,在运行代码时,它会回到emptyRange.select.offset,然后给出一个错误,说明一个对象是必需的。 我不确定我是否过于复杂这个代码。 Sub colShift() Dim dCol As Range Dim qCol As Range Dim emptyRange As Range With Sheets("Data") Set dCol = Range( _ Range("A1:ZZ1").Find(What:="name_a", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:= _ xlWhole, MatchCase:=False), _ Range("A1:ZZ1").Find(What:="name_a", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:= _ xlWhole, MatchCase:=False).End(xlDown)) Set qCol = Range( _ Range("A1:ZZ1").Find(What:="name_b", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:= _ xlWhole, MatchCase:=False), […]