嗨,我一直在寻找2天,我无法弄清楚这一点。我到处看都在网上,这个小问题在任何地方都没有回答。我有两个下拉列表。一个问题列表和一个答案列表,当选择问题时,用户然后选择答案。如果它'总是'它的1标记,如果它'有时'它的0.5标记。如果问题是两个答案中的任何一个得到值0.5或1,我在许多单元格中的不同行(最右边)设置当前设置。唯一的问题是当用户使用下拉列表选择时下一个问题if语句现在为false,值返回0而不是保存。我希望它在价值高于1后保存价值,或者是否有更好的方法可以总结这些答案并仍保持我的两个下拉列表一起工作?
感谢您抽出宝贵的时间来回顾我的问题并迫不及待地想要学习如何做到这一点,这让我疯狂。
答案 0 :(得分:0)
这是一个练习轮,一旦你开始工作,你就可以让它适用于你的工作表。
问题DropDown是B10,答案是D10
设置工作表。
添加一些代码。
您现在位于工作表模块
中
复制并粘贴此代码。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, x As Range, y
Set rng = Range("G3:G9")
If Target.Count > 1 Then Exit Sub
If Target.Address = "$D$10" Then
y = IIf(Target = "Answer 1", 1, 2)
Set x = rng.Find(what:=Target.Offset(, -2), lookat:=xlWhole)
If Not x Is Nothing Then
x.Offset(, 1) = y
End If
End If
If Target.Address = "$B$10" Then
Application.EnableEvents = 0
Target.Offset(, 2).ClearContents
Application.EnableEvents = 1
End If
End Sub
关闭VBA编辑器并处理电子表格。
公式计算结果