如何在条件格式中适应非常长的条件

Posted

技术标签:

【中文标题】如何在条件格式中适应非常长的条件【英文标题】:How to fit VERY long condition in conditional formatting 【发布时间】:2011-03-12 21:24:59 【问题描述】:

我的条件很长,大约 3,000 个字符。访问只有大约十分之一的空间。

除了通过对话框之外,还有其他方法可以在文本框上设置条件格式吗?或者我可以在 VBA 中进行设置吗?如果可以,如何?

我在打开报表时触发的一堆文本框上有条件格式。

【问题讨论】:

【参考方案1】:

我不知道这是否是您所追求的,因为您提到只有一个小框可以输入所有条件文本。其他人向您展示了 VBA 解决方案 - 因为您问这是否是实现它的一种方法。

我一直使用可通过 SHIFT-F2 按键访问的“缩放”功能。那是你所追求的吗?我认为它也可以追溯到几个 Access 版本。

这里有一组不错的 Access 快捷键: http://www.joyedaniels.com/keys_access.htm

【讨论】:

【参考方案2】:

想知道 VBA 方法是否有效?

另一个想法:在表单上创建一个隐藏字段并根据您的 3000 个字符条件设置它的值。如果你只是想有 1 个条件表达式,你可以给这个隐藏字段一个 false/true 或 0/1 值;如果你想要多个条件,你可以给它一个与你想要应用的条件相对应的值 0、1、2 或 3。无论哪种情况,您的条件表达式测试现在都很简单:[HiddenFieldName]=ConditionValue

【讨论】:

【参考方案3】:

是的,您可以在 VBA 中操作格式条件。在http://support.microsoft.com/kb/304104 有一篇完整详细的知识库文章。

这里的代码 sn-p 显示了一个基本示例。参考以上链接获取AddFormats的VBA:

Public Function HighLightForeignKeys(argFieldName As String, argFieldValue As Integer)
    Dim FormatCondition As String
    Dim CodeReception As Integer
    FormatCondition = "[" & argFieldName & "] = " & ArgFieldValue
    With Me.ID
        .FormatConditions.Delete
        .FormatConditions.Add acExpression, , FormatCondition
        .FormatConditions(0).BackColor = 16510422
        AddFormats Me.ID, Me
    End With

End Function 

【讨论】:

【参考方案4】:

根据 Access 的帮助主题,FormatConditions 集合具有方法(添加、删除、修改),它们应该允许您使用 VBA 代码调整 FormatConditions。我从未尝试过,因此对于这是否对您来说是一种实用的方法,我不提供任何意见。

我还试图找出 FormatConditions 可以接受的字符数是否有容量限制。我没有找到任何东西。

【讨论】:

以上是关于如何在条件格式中适应非常长的条件的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Excel中使用条件格式和查询

如何在 Excel 中以条件格式自动填充条件?

Excel如何利用条件格式找出数据区域中最大的几项

电子表格 - 基于其他单元格的条件格式单元格

怎么用条件格式将一个区域设置为渐变填充蓝色(标准色)数据条?

如何将条件格式应用于 odt 文件?