- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的代码有效,因此如果用户在分数部分输入 1-5 之间的数值,特定列/列组将改变颜色。如果分数不是 1、2、3、4 或 5 以外的任何数字,则列上不会发生任何填充。
假设用户为问题 2 输入值 3,“二”、“三”和“五”列将以黄色突出显示。
现在,如果用户为问题一输入值 1,“一”、“二”和“三”列将以红色突出显示。 “五”列仍将保持黄色,但“二”和“三”(因为分组与问题重叠)变为红色,因为这是最近的事件。
我似乎无法找到一种方法来使分数决定当前突出显示的单元格是否更改为不同的颜色。我希望这样,如果用户为问题 2 输入值 3,则“二”、“三”和“五”列将以黄色突出显示,但如果他们随后为问题一输入值 1 ,“一”列将以红色突出显示,“二”和“三”应保持黄色,因为分数 3 高于 1。
问题一按列分组:一、二、三
问题二按列分组:二、三、五
问题三按列分组:三、四
问题四按列分组:三、四
问题五按列分组:一、二、三
得分 1 显示:红色
得分 2 显示:橙色
得分 3 显示:黄色
分数 4 显示:浅绿色
得分 5 显示:深绿色
Private Sub CheckBox1_Click()
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D19")) Is Nothing Then
Select Case Range("D19").Value
Case 1
Range("L3:N28").Interior.ColorIndex = 3
Case 2
Range("L3:N28").Interior.ColorIndex = 45
Case 3
Range("L3:N28").Interior.ColorIndex = 6
Case 4
Range("L3:N28").Interior.ColorIndex = 4
Case 5
Range("L3:N28").Interior.ColorIndex = 50
Case Else
Range("L3:N28").Interior.ColorIndex = 0
End Select
End If
If Not Intersect(Target, Range("D20")) Is Nothing Then
Select Case Range("D20").Value
Case 1
Range("M3:N28,P3:P28").Interior.ColorIndex = 3
Case 2
Range("M3:N28,P3:P28").Interior.ColorIndex = 45
Case 3
Range("M3:N28,P3:P28").Interior.ColorIndex = 6
Case 4
Range("M3:N28,P3:P28").Interior.ColorIndex = 4
Case 5
Range("M3:N28,P3:P28").Interior.ColorIndex = 50
Case Else
Range("M3:N28,P3:P28").Interior.ColorIndex = 0
End Select
End If
If Not Intersect(Target, Range("D21")) Is Nothing Then
Select Case Range("D21").Value
Case 1
Range("N3:O28").Interior.ColorIndex = 3
Case 2
Range("N3:O28").Interior.ColorIndex = 45
Case 3
Range("N3:O28").Interior.ColorIndex = 6
Case 4
Range("N3:O28").Interior.ColorIndex = 4
Case 5
Range("N3:O28").Interior.ColorIndex = 50
Case Else
Range("N3:O28").Interior.ColorIndex = 0
End Select
End If
If Not Intersect(Target, Range("D22")) Is Nothing Then
Select Case Range("D22").Value
Case 1
Range("N3:O28").Interior.ColorIndex = 3
Case 2
Range("N3:O28").Interior.ColorIndex = 45
Case 3
Range("N3:O28").Interior.ColorIndex = 6
Case 4
Range("N3:O28").Interior.ColorIndex = 4
Case 5
Range("N3:O28").Interior.ColorIndex = 50
Case Else
Range("N3:O28").Interior.ColorIndex = 0
End Select
End If
If Not Intersect(Target, Range("D23")) Is Nothing Then
Select Case Range("D23").Value
Case 1
Range("L3:N28").Interior.ColorIndex = 3
Case 2
Range("L3:N28").Interior.ColorIndex = 45
Case 3
Range("L3:N28").Interior.ColorIndex = 6
Case 4
Range("L3:N28").Interior.ColorIndex = 4
Case 5
Range("L3:N28").Interior.ColorIndex = 50
Case Else
Range("L3:N28").Interior.ColorIndex = 0
End Select
End If
End Sub
我希望我能正确地解释自己。任何帮助,谢谢。
最佳答案
下面的代码比较所有可能的答案组合,无论其顺序如何
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.CountLarge > 1 Then Exit Sub
Const U1 = 19 'User input row 1
Const U2 = 20
Const U3 = 21
Const U4 = 22
Const U5 = 23
Const D = 4 'User input column
Dim r As Long, v As Long, fnd As Range
r = Target.Row
v = Val(Target.Value2)
With Target.Parent
Set fnd = .UsedRange.Find("One") 'find first question
If Target.Column <> D Or r < U1 Or r > U5 Or v > 5 Or fnd Is Nothing Then Exit Sub
Dim fr As Long, lr As Long, fc As Long
fr = fnd.Row + 1 'first used row
lr = .UsedRange.Rows.Count 'last used row
fc = fnd.Column 'last used column
Dim a1 As Long, a2 As Long, a3 As Long, a4 As Long, a5 As Long
a1 = Val(.Cells(U1, D).Value2) 'answer 1
a2 = Val(.Cells(U2, D).Value2)
a3 = Val(.Cells(U3, D).Value2)
a4 = Val(.Cells(U4, D).Value2)
a5 = Val(.Cells(U5, D).Value2)
Dim c1 As Range, c2 As Range, c3 As Range, c4 As Range, c5 As Range
Set c1 = .Range(.Cells(fr, fc + 0), .Cells(lr, fc + 0)) 'column 1
Set c2 = .Range(.Cells(fr, fc + 1), .Cells(lr, fc + 1))
Set c3 = .Range(.Cells(fr, fc + 2), .Cells(lr, fc + 2))
Set c4 = .Range(.Cells(fr, fc + 3), .Cells(lr, fc + 3))
Set c5 = .Range(.Cells(fr, fc + 4), .Cells(lr, fc + 4))
Dim qCols As Range, clr As Long
Select Case r
Case U1
Set qCols = Union(c1, c2, c3) 'question 1
Select Case True
Case v < a3 Or v < a4: Set qCols = Union(c1, c2)
Case v < a2: Set qCols = c1
End Select
Case U2
Set qCols = Union(c2, c3, c5) 'question 2
Select Case True
Case v < a3 Or v < a4: Set qCols = Union(c2, c5)
Case v < a1: Set qCols = c5
End Select
Case U3
Set qCols = Union(c3, c4) 'question 3
Select Case True
Case v < a1 Or v < a2: Set qCols = c4
Case v < a5: Set qCols = c3
End Select
Case U4
Set qCols = Union(c3, c4) 'question 4
If v < a2 Or v < a5 Then Set qCols = c4
Case U5
Set qCols = Union(c1, c2, c3) 'question 5
Select Case True
Case v < a3 Or v < a4: Set qCols = Union(c1, c2)
Case v < a2 And (v < a3 Or v < a4): Set qCols = c1
End Select
End Select
clr = RGB(255, 255, 255)
Select Case v 'set colors based on current cell's value
Case 1: clr = RGB(255, 0, 0) 'red
Case 2: clr = RGB(255, 111, 0) 'orange
Case 3: clr = RGB(255, 255, 0) 'yellow
Case 4: clr = RGB(0, 255, 0) 'light green
Case 5: clr = RGB(0, 111, 0) 'dark green
End Select
If v < 1 Then
.UsedRange.Interior.Pattern = xlNone 'if cell value <1 clear all colors
Else
If Not qCols Is Nothing Then qCols.Interior.Color = clr
End If
End With
End Sub
关于vba - 特定单元格值决定列颜色 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48690134/
这是一道函数依赖题。 我知道当 x->yz 然后 x->y 和 x->z 时。但是上面的依赖关系可能吗? 最佳答案 If xy determines z can x determine z and y
我有一个奇怪的问题。 Line 61: $this->_currentRoute = Default_Model_Routes::getInstance()->getCurrentRoute(); .
我正在开发一种工具来比较两个波形文件的波形相似性。例如,我有一个持续时间为 1 分钟的波形文件,我使用第一个波形文件制作了另一个波形文件,但每 5 秒生成一次数据,间隔为 5 秒至 0。 现在我的软件
我遇到了一个奇怪的问题,尽管我打赌有一个巧妙的方法可以解决它。 情况是我有一个具有三列排序状态的表:完全未排序,在这种情况下我不希望出现任何图标,按升序排序,在这种情况下我想要一个向上箭头,以及按降序
Java 语言规范提供了criteria用于确定(格式良好的)执行是否满足“Java 内存模型的因果关系要求”。让我们假设执行是有限的。我试图了解是否存在多项式时间算法来证明或反驳这种情况。 真的,我
Java 语言规范提供了criteria用于确定(格式良好的)执行是否满足“Java 内存模型的因果关系要求”。让我们假设执行是有限的。我试图了解是否存在多项式时间算法来证明或反驳这种情况。 真的,我
我正在编写一个简单的Bank类,其中包含Account。我希望人员能够开设一个新的受密码保护的银行帐户,并从其帐户中提取和存入资金。账户设在银行内。银行和帐户类应提供哪些服务? 假设 p 已在银行 b
我的标题概括了这一点。我有一个将要开发的简单业务线应用程序,并且很好奇如何确定我应该针对哪个 .NET 版本。支持 Win XP SP3 会很好,但不是必需的。它将用于索引多页 tiff,因此导入一批
已锁定。这个问题及其答案是locked因为这个问题是题外话,但却具有历史意义。目前不接受新的答案或互动。 你是否真的“尝试过”(意味着在其中编程,而不仅仅是阅读有关它的文章)Erlang并决定在项目中
我正在尝试使用 ExceptionFilterAttribute 为 Web Api 实现异常处理。我已经继承了ExceptionFilterAttribute 类并覆盖了onException 方法
前一段时间在一次编程比赛中我遇到了一个令人费解的问题,此后一直困扰着我。虽然我没有逐字记住,但我会尽力重现: Jack starts at 0 on the number line and jumps
我有什么: 我有一个主要内容区域,后面跟着两个旁白: #primary,#secondary,#tertiary{float:left; width:33%;} Primary
我无法正确操作键盘。 整个 View 充满了文本字段。 当我使用通知将 View 向上移动时,上方的文本框不再可见: override func viewDidLoad() { super.v
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我在尝试获取父对象来过滤子事件时遇到问题。 在下面的示例中,我在旋转框上设置了一个事件过滤器。事件过滤器检测旋转框上的鼠标按下事件。然后,我希望父对象根据某些标准接受或忽略该事件。 问题是它似乎接受了
我使用从 std::system_error 继承的类进行错误处理,我想控制调用 what() 时返回的内容。原因:标准(C++11 和 C++1y CD 草案 - N3690,下面的 § 引用是后者
我正在用 Swift 构建一个 iOS 应用程序,它的起始页有 6 个按钮。这些按钮中的每一个都将连接到一个 TableView Controller ,其数据由 NSFetchedResultsCo
我想构建这样的东西 数据存储| mycode.py | RESTful API | mywebapp.py(Django 或 Tornado) 我检查了 Django 的 Piston,但似乎这样我就
究竟如何更改 RichTextBox 中的字体? 环顾四周给了我似乎不再有效的旧答案。我认为这就像执行 richtextbox1.Font = Font.Bold; 或类似操作一样简单。原来不是,所以
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 7 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!