Tag: dynamic

Excel自动更新dynamic数据validation列表?

我有一个简单的关于音符的电子表格,可以执行以下操作: 首先,用户从下拉菜单中select是否显示锐利或平面。 这会触发电子表格中的其他单元格以锐利或平面显示半音音阶。 见下文。 这工作正常。 然后另一个单元格使用数据validation的下拉菜单中可以select这些笔记之一。 见下文。 这工作正常, 但单元格D2不会自动更新到数据validation列表中的相应单元格,如果单元格B2更改。 换句话说,如果单元格B2被改变,单元格D2可能包含没有出现在注释列表中的文本。 看下面的这个可视化。 在上面的图片中,单元格B2被更改为正确更新音符列表的“锐利”。 然而,由于单元格D2已经select了一个单音符号(在这种情况下是Db),所以单元格D2不会自动更新到其相应的尖音符(在这种情况下为C#)。 所有这一切说,我的问题是:是否有可能让单元格D2自动更新到其数据validation列表中的相应的值,如果数据validation列表更改? (最好不使用VBA)

考虑variables范围内的单行?

长时间读者第一次的海报。 当我尝试解释我的困境时,请忍耐,我不是最好的解释者! 所以,我一直在使用各种论坛的各种代码来集成macros,使我的工作更容易,但是我遇到了一些麻烦。 我正在使用以下代码来自动填充并select需要在其他地方复制和粘贴的dynamic范围: Dim lastRow As Long lastRow = Range("A" & Rows.Count).End(xlUp).Row Range("AP2").AutoFill Destination:=Range("AP2:AP" & lastRow) Range("AQ2").AutoFill Destination:=Range("AQ2:AQ" & lastRow) Range("AR2").AutoFill Destination:=Range("AR2:AR" & lastRow) Range("AS2").AutoFill Destination:=Range("AS2:AS" & lastRow) Range("AT2").AutoFill Destination:=Range("AT2:AT" & lastRow) Range("AU2").AutoFill Destination:=Range("AU2:AU" & lastRow) Range("AP2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select 我相信,我面临的问题是最后一行(尽pipe我相信有人会告诉我有一个更简单的方法来处理3-8行)。 在此variables范围返回单个行的实例中, Selection.End(xlDown)第2行中的所有行抓取到底部,这意味着它太大而无法粘贴到目标中。 我怎么能修改这个帐户单行? FYI Selection.End(xlToRight)总是相同的列数,如果有帮助的话。 提前致谢!

Excel:运行时错误“1004”将VBA数组分配给范围,而无需事先调用Worksheet.Activate

我在一个2d VBAdynamic数组中生成一个大的双精度matrix。 当我尝试将数组分配给Excel范围对象时,我收到以下错误: Runtime Error '1004': Application-defined or Object-defined Error 除非,那就是我在调用之前调用Worksheet.Activate。 (Array的大小约为88 x 1150)下面是代码片段: Dim lIndxRow As Long, lIndxRowBase As Long, lIndxRowLast As Long, lIndxCol As Long, lIndxColBase As Long, lIndxColLast As Long lIndxRow = [Close_FirstRow] lIndxRowBase = [Close_FirstRow] lIndxRowLast = [Close_LastRow] lIndxColBase = [Close_FirstCol] lIndxColLast = [Close_LastCol] Dim Mat() As Double ReDim Mat(lIndxRowBase To […]

VBS for excel:在范围select中使用脚本variables

我已经看到类似的问题要求在Excel中使用VBA,但我使用VBScript,所以它有点不同。 其他问题的答案给了我一些线索,但我不知道如何解决这个问题。 我正在使用.SetSourceData来定义graphics中使用的范围。 它可以很好地定义从第一行到最后一行(整张)的范围,但是我想使用前面定义的variables定义一个dynamic范围。 所以这个工作: .SetSourceData objWorksheet.Range("E1","F" & LastRow), xlColumns LastRow被定义为LastRow=objWorksheet.UsedRange.Rows.Count 。 现在我想要做的是使用从最后一行开始的范围,返回几行。 所以我的想法是这样做的: .SetSourceData objWorksheet.Range(Rowstring,"F" & LastRow), xlColumns RowString被定义为 WeekNumber = LastRow – 1000 RowString = "E" & WeekNumber 但它给了我一个错误。 如何在一个范围内使用stringvariables,并将其设置为图表生成的源数据? 这是我正在使用的代码 WeekNumber = LastRow – 1000 RowString = "E" & WeekNumber WScript.echo(RowString) ' Data for last week Sub LastWeek() WeekNumber = LastRow – […]

dynamic创build文本框的名称属性

先来一点背景资料: 我正在使用Excel工作。 打开文件时,popup一个用户窗体并要求在多个文本框中input。 然后将input放入Excel文档中的某些单元格中。 然后另一个用户窗体popup,并要求更多的input,像以前一样插入到单元格中。 接下来,它要求在文本框中input数字,并且这个数据在Excel文档的每个类别下插入相应的行数。 现在的问题。 接下来我想要做的是有一个用户表单,它根据用户在前一个用户表单中input的数字dynamic地创build一定数量的标签和文本框。 我已经想出了如何将variables从一个用户表单转换到另一个用户表单。 现在我遇到了dynamic创build的文本框的命名问题 。 那么,我真的知道如何命名它们,但不知道如何使用文本框的.Text属性作为Excel文档中的单元格的input 。 我花了六个小时在互联网上search解释如何做到这一点,我可以适用于我的项目,所以现在我正在寻找个性化的帮助。 以下是我所考虑的选项: Arrays Controls.Add("txtBoxName" & i) in a For…Next loop I have actually tried the For…Next loop with Controls.Add, and had absolutely no luck. 这两个问题,而数组可能会更方便从长远来看,是(至less在我看来),你必须命名的文本框,然后调用名称,这是我找不到任何地方的语法。 谁能帮忙? 如果需要的话,我可以发布相关的代码。 另外,如果我忽略了一些东西,请随意指出我的方向。 虽然我可能会请求帮助理解它! ;) 谢谢,Dudebird47

针对多个类似dynamic创build的命令button的动作

我正在Excel VBA中编写一个程序,基本上会以一个文本框和一个命令button开始,命令button将在它下面创build一个新的文本框和命令button,而该命令button将依次创build一个新的文本框和命令button,等等。 希望你跟着那个烂摊子。 我可以创build初始button没有问题(它必须dynamic创build,所以有机会稍后删除)。 我的问题是创buildclick()事件处理程序。 我需要所有的click()事件来做同样的事情,但是将它们命名为相对于自己名字的新对象。 这一切都让我心动,我真的很感激一点帮助。 随意要求提供具体的信息,但是我还没有真正能够把我的头围绕在这个话题上,足以编写一些testing代码。

Excel – dynamic图表x轴 – 忽略没有数据的x类别

我有一个预定义的x标签列表,例如一年中的几个月。 我想从我的Excel曲线中dynamic地排除其中的一些,例如,如果某些y值为空,则为零或错误。 我试过的东西: 如果我使用(如果数据不好,然后将xlabel更改为空或NA())过程,excel仍然留空白空间或#N / A x标签 – 请参阅图像。 这是在Excel中创build图表忽略 #N / A或空白单元格的第二个最有回报的答案,但没有完全做我以后…不幸的是,没有选项的“没有差距”隐藏和空单元格设置。 如果我过滤掉Y值满足拒绝条件的行,我得到我想要的图表,但是当Y值通过其他地方的计算(即不是dynamic的)被计算改变时,filter不会自动更新。 枢轴图是一样的。 我不能得到公式化的命名范围( Excel图表 – 设置系列dynamic结束 )做我想要的 – 公式将返回类似于“Jan,FALSE,Mar,Apr”而不是“Jan,Mar,Apr”,而我们最终会出现与上图相同的问题。 非VBA解决scheme优选=)

dynamic排行榜在Excel中sorting

我想创build一个公式来dynamic地将列“AI”和“AJ”sorting为用户input的新分数。 我只是希望“TOTAL”/“AG”列是这种types的驱动程序。 我在Excel中使用了“小”函数,但是这不处理重复的分数。 在列AI和AJ中按升序显示名称和分数来dynamic地对“TOTAL”列进行sorting的最佳方法是什么?

从多个表中定义dynamic范围

我正在寻找从多个工作表中定义几个dynamic范围。 我得到错误1004“应用程序或对象定义错误”。 我的代码适用于工作表处于活动状态的任何范围,我可以通过激活每个工作表然后定义我的dynamic范围来使其工作。 但是,如果我的电子表格变得很大,这可以真正减慢我的程序。 请注意以下事项: .CurrentRegion将不起作用,因为它将包含许多不必要的行和列。 该报告将包括由于不同生产领域而重复列的区域。 有没有更好的方法来定义我的范围,以防止激活每个表单? 下面是我使用的一些代码的例子。 Set Sony = ThisWorkbook.Worksheets("Report") Set Prod = ThisWorkbook.Worksheets("Prod Report") Prod.Activate Set rng1 = Prod.Range(Range("C3"), Range("C3").End(xlDown).Offset(-1, 0)) Set rng2 = Prod.Range(Cells(1, 1), Cells(1, 52)) Sony.Activate Set rng3 = Sony.Range(Range("B4"), Range("B4").End(xlDown).Offset(-1, 0).End(xlToRight).Offset(0, -1))

如何在Excel中从dynamic公式(SUBTOTAL + SUMPRODUCT)中排除零条目

我正在研究一个公式来得到标准偏差。 它一直工作,直到我遇到一个零值,使结果#DIV / 0! 。 这是期望值的截图。 但是,当我使用我的公式时,游戏时间SD返回0 。 如果F列中的值为零,如何在计算中排除它? 我试图IF(F5:F9 <> 0),但它不会工作。 这是我使用的公式。 F3 = IFERROR(SUBTOTAL(1,F5:F9),0) (F5:F9,ROW(F5:F9)-MIN(ROW(F5:F9)),1))*(G5:G9 * F5:F9))/ SUBTOTAL (9,F5:F9),0) (=(F5:F9)-MIN(ROW(F5:F9)),, 1))* ((H5:H9 ^ 2 * F5:F9 *(F5:F9-1)+(G5:G9 * F5:F9)^ 2)/ F5:F9 ))) – (SUMPRODUCT(SUBTOTAL(9,OFFSET(G5 :G9,ROW(G5:G9)-MIN(ROW(G5:G9)),, 1)),次全(9,OFFSET(F5:F9,ROW(F5:F9)-MIN(ROW(F5:F9) ),, 1))))^ 2)/(小计(9,F5:F9)*(小计(9,F5:F9)-1)))^(1/2),0) 我知道这个问题在F5:F9的某处,因为使用的除数是零