excel 基于其他单元格值的用户自定义信息消息

j0pj023g  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(146)

我正忙碌一个优化电子表格,它需要显示一条信息消息,可能类似于用于数据验证的输入消息(但我愿意接受建议)。我想解决的问题是消除用户错误。通常用户会从下拉列表中选择一个项目(使用数据验证),用户需要参考教科书,以确定在剩余的计算中该项目应该使用什么值-这会造成不一致,有时甚至是用户错误。
我的限制是,我不能在额外的行/列单元格中显示此消息,因为此电子表格是公司标准电子表格,许多其他工作表引用这些特定单元格。
此消息将用于显示典型的最小值、最大值和基于另一个单元格值的推荐用户定义值。然后,用户可以从此信息性消息中选择一个值,并在以后的计算中使用该值,但如果用户确定所选值不再合适,则用户需要返回并查看相同的最小值、最大值和平均值,作为选择的指南。
下面是我想要实现的一个过于简化的版本。需要在此信息性消息中显示的文本将是数据表的一部分。

我尝试使用基于单元格值的自定义文本格式,但无法使其正常工作-但我也怀疑这不是正确的工具。(类似于数据验证如何根据单元格值更改),但我无法使此工作。我试图折痕额外的列以显示最小值,最大值和平均值输入,但这导致了问题。
我也认为弹出框可能有点令人沮丧,因为用户将不得不频繁地点击/关闭-但这也可以是一个选项。或者可能是一个VBA文本框显示文本取决于所选的单元格;后者可能是一个很好的方法,但我不知道如何开始。
我猜宏将不得不连续扫描哪个单元格被选中,然后运行查找函数来显示与所选项目相关的文本。https://stackoverflow.com/questions/71793403/adding-a-comment-in-a-cell-based-on-another-cells-value这可能是我能找到的最接近的解决方案,但我仍然有点不知所措。

cwtwac6a

cwtwac6a1#

这是一个正在进行中的工作,但满足了我想要的需要。谢谢你的帮助k1 dr 0 ck!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const WS_RANGE As String = "F64:L73"
Dim InfoText As String
Dim TypeLookup As String
Dim LookupTable As Range

Dim TXTHELP As String

    On Error GoTo ws_exit
    Application.EnableEvents = False

    If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
        With Target

            TypeLookup = Cells(ActiveCell.Row, 2).Value
            DNLookup = Cells(45, ActiveCell.Column)
               
            With Worksheets("Data_MinorLoss")
                Set LookupTable = .Range("A3:O8")
                
            End With
            
            InfoText = WorksheetFunction.VLookup(TypeLookup, LookupTable, 2, False)
            
                       
            'MsgBox InfoText
            
        End With
    End If

ws_exit:
    Application.EnableEvents = True
End Sub

相关问题