Tag: 条件

在未select的范围内设置FormatCondition时,会失败吗?

我有这个VBA代码: Private Sub Worksheet_Activate() Sheet1.Cells(10, 10).Select Range("$B$2:$E$7").FormatConditions.Delete With Range("$B$2:$E$7").FormatConditions.Add(Type:=xlExpression, Formula1:="=$G2=""Yes""") .Interior.Color = RGB(150, 100, 0) End With Debug.Print "Formula is wrong : " & Range("$B$2:$E$7").FormatConditions(1).Formula1 Range("$B$2:$E$7").Select Range("$B$2:$E$7").FormatConditions.Delete With Range("rngDatesLockedRange").FormatConditions.Add(Type:=xlExpression, Formula1:="=$G2=""Yes""") .Interior.Color = RGB(150, 100, 0) End With Debug.Print "Formula is correct : " & Range("$B$2:$E$7").FormatConditions(1).Formula1 End Sub debugging跟踪显示: Formula is wrong : =$G1048570="Yes" Formula is […]

如何根据Excel中的两个条件得到加权总和?

我在Excel中有这个表格: 我想根据两个条件得到加权总和: 无论是公司1还是公司2 (股份数量不同) column A ( 公司1 )和column B ( 公司2 )是否有0或1 (乘数不同) 例: 让我们计算第2行的加权总和: 总和 = 2 ( 乘数1 )* 50 ( 1股价格 )* 3 ( Company 1股票数量 )+ + 0.5 ( 乘数0 )* 50 ( 1股价格 )* 6 ( Company 2股票数量 )= 450 所以, 第2排的 总和 = 450 。 现在我只使用这个代码检查乘数( 1或0 ): […]

Excel如果声明

我有一个如下所示的文件: col hea der s row A 0 0 0 0 C 1 2 1 0 N 3 2 3 5 我想写一个if语句,说明单元格D2,G2,J2或M2中的任何值是否大于或等于5,请计数一个。 即: cel D2 G2 J2 M2 col hea der s row count A 0 4 0 0 0 C 1 5 1 0 1 N 10 2 3 5 2 我根本无法理解这个逻辑,所以我有一种感觉,那就是做一个不那么复杂的方法。 这是我迄今为止: IF(D2>=5, […]

从存储在单元格中的CSV列表中进行单元validation

我一直在寻找堆栈溢出和一般search,但我不断得到使用多个单元格范围为我的validation源( 如这个 )的教程。 我有一个可能的材料和相关质量的表格:密度,保护价值,单位重量成本,可用性等。关键的是,其中一列是“有效的施工方法”,并且该单元格包含逗号分隔的string列表。 用户使用具有validation下拉列表的单元格选取其中的一种材料(这部分工作正常)。 我需要第二个下拉菜单,它将显示可用于从第一个下拉列表中select的材质的有效构造方法。 我可以通过使用我的施工方法表中的名称列作为validation限制来显示所有的施工方法,但我只想要有效的施工方法。 因此,例如,如果用户select“铁,手工锻造”,他们不应该select“绗缝”或“偏斜分层” – 这些选项仅适用于柔性织物材料。 而相反,如果他们select“亚麻”,他们不应该有能力挑选“铰接板” – 这是亚麻和其他面料的废话价值。 我可以手动键入逗号分隔列表到validation框和下拉列表正确生成,但我不能给VLOOKUPvalidation框单个单元格包含一个逗号分隔列表(= VLOOKUP (Material,MaterialTbl,7,False)),它抱怨源必须是一个删除列表或对单个行或列的引用。 我也尝试把VLOOKUP放在一个单元格中,只是把确认框指向那个(= $ H $ 16),但是我得到的只是一个包含整个列表,逗号和全部的选项。 EG我的名单包括一个选项:“邮件,分段板,标尺,板”而不是四个选项:“邮件”,“分段板”,“标尺”,“板”。 有没有办法做到这一点? 有没有办法做到这一点,而不诉诸于VBA? (如果有必要,我会诉诸VBA,但我希望没有macros的电子表格,因为它更容易分发)。

FONT.COLOR在条件格式的excel vba中返回NULL

我有一个子例程获取条件格式属性单元格在工作表“源”中,并将其应用于工作簿中的“结果”工作簿。 它正常工作,只是当我得到Font.Color和Font.TintAndShade它返回null,所以在结果表中,所有的条件格式有黑色的字体颜色。 (您可以在结果表格条件格式>pipe理规则中查看)。 错误是“无效使用空值”也许是因为值的types。 错误发生在这里: FCFontC = Xarr(I, J).FormatConditions(II).Font.Color FCFOntT = Xarr(I, J).FormatConditions(II).Font.TintAndShade 这里是我的代码: Sub FormatCondition1() Dim FC As FormatCondition Dim FCFontC As Long Dim FCFOntT As Integer Dim FCC As Long Dim FCT As Integer Dim II As Integer Dim Wks1 As Worksheet, Wks2 As Worksheet Dim Xarr As Range, Yarr As Range Dim […]

如何区分一个数据列中的两个“陈旧值”和两个值之间的空白?

最近我问了一个关于缺失值数据的线性插值的问题。 这是这个问题的链接 一个数据的缺失值与缺失值序列数量的线性插值的dynamic解决scheme是什么? 出现了一个新的问题,涉及到空白序列以空白结束而不是填充值的情况。 在这种情况下,公式会重复上次填充的最后一个空白值。 我想要做的是,有一些方法,如条件格式或添加一个0.0000009types的数字来区分它为陈旧的数据。 以下是示例数据: – (此数据是由提供的解决scheme描述的公式的结果) Date Data Updated Data 1/1/2001 1 1.000000000 2/1/2001 2 2.000000000 3/1/2001 3 3.000000000 4/1/2001 4 4.000000000 5/1/2001 4.250000090 6/1/2001 4.500000090 7/1/2001 4.750000090 8/1/2001 5 5.000000000 9/1/2001 6 6.000000000 10/1/2001 7 7.000000000 11/1/2001 7.666670090 12/1/2001 8.333330090 1/1/2002 9 9.000000000 2/1/2002 11 11.000000000 3/1/2002 11.000000090 4/1/2002 11.000000090 我怎么能区分最后两个11和上面的正常数据? […]

基于大于/小于相邻单元格/列的excel条件格式

嘿在那里,我试图让Column E突出显示绿色时, Column F>0.59 ,我已经通读了如何做到这一点,但我的问题是,我的电子表格接近60条目长约30套数据水平。 所以我想弄清楚我的规则是什么,所以我可以一次做多行。 任何帮助是极大的赞赏 上面的链接显示了我试过的不同的选项,不工作

如果线性规划决策variables> 0,则> = 3000

我试图在Excel中使用求解器来创build一个线性程序来最小化共同基金的开支。 我的决定variables是每个基金投入的金额。 如果有什么投资,它必须达到资金的最低限度。 我如何编程? 基金1投入金额=>基金投资额> 0,基金投资额1> = 3000其他投资额= 0 任何帮助是极大的赞赏。 谢谢。

如何使VBA中的Case Statement中的条件dynamic化?

目前我正在使用以下代码: Sub DropDown1_Change() With ThisWorkbook.Sheets("Dashboard").Shapes("Drop Down 1").ControlFormat Select Case .List(.Value) Case "Region1": Region0_Select Case "Region2": Region1_Select Case "Region3": Region2_Select End Select End With End Sub 这个macros涉及到excel表格的下拉菜单。 有没有办法将条件基于单元格值? 即如果下拉等于单元格A1而不是“区域1”。 我尝试使用范围(“A1”)的东西。价值无济于事。

VBA将值从一行复制到另一个工作簿

如果条件是真的,我有这个代码从一个表复制行到另一个,但我有一个小问题。 Sheet1的单元格有公式,我想只粘贴到Sheet2的值。 我怎样才能在这个代码中做到这一点? Sub CopyRows() Dim cell As Range Dim lastRow As Long, i As Long Dim FName As String Dim FPath As String Dim NewBook As Workbook lastRow = Range("A" & Rows.Count).End(xlUp).Row i = 1 For Each cell In Sheets("Sheet1").Range("T1:T" & lastRow) If cell.Value = "X" Or cell.Value = "Y" Then cell.EntireRow.Copy Sheets("Sheet2").Cells(i + […]