Tag: validation

根据vlookup设置下拉值

我有一个工作表UserEntry与2列, Block和Address 。 我想validation这两个基于另一个工作表Validation具有相同的列名称。 Validation表上的数据如下: Block | Address ————— 001 | 101 001 | 101.3 001A | 35 020-1 | 203 020-1 | 203.5 020-1 | 204.1 … 大约有11000个不同的块,大约40000个块/地址对。 我的目标是,如果用户在UserEntry表单的Block列中input一个值, Address列中的下拉选项将更改为与该Block相对应。 我尝试使用这个公式的自定义validation: =VLOOKUP(UserEntry!A2,Validation!A2:B40000) 但是,评估到一个错误。 我在各种论坛上看到了一些解决scheme,其中包括设置命名范围,然后使用VLOOKUP()search适当的命名范围,但似乎不能在这里工作,因为我必须创build11000个命名范围。 如何使Addressvalidation下拉列表包含与给定Block值对应的所有值?

VBA excel代码:在validation中不能给出命名范围到formula1

我怎样才能通过vba代码添加一个validation列表,将引用一个命名的范围? 这样列表将包含一个命名范围的值? 我可以这样做,如Formula1:=“= $ A $ 1:$ A $ 10”但我怎么能给一个命名的范围?

我可以添加一个值到命名范围?

我有一个Excel工作表中的命名范围设置,我用它来提供数据validation下拉列表的值。 我的来源公式基本上是这样的: =INDIRECT( "OnePartOfTheRangeName" & "AnotherPart" ) 范围根据行中的另一个值而变化,所以这就是为什么我必须组合string等 我想给Data Validation列表添加一个额外的值,但是没有任何运气。 我认为,如果有某种“联盟”function,我可以结合INDIRECT列表和单个值,但我一直没能find这样的function。 有谁知道解决我的问题的另一种方法?

强制粘贴值以遵守数据validation规则

我有一个(简单的例子)由input和报警组成的matrix。 每个动作(X)应该有一个input和一个警报,即不应该在列E或列6中插入动作。 我使用数据validation来实现这一点,它的工作原理。 但是,如果我将数据粘贴到这些单元格,则不会遵循validation规则。 我插入这个VBA代码,以防止这(从www.j-walk.com/ss/excel/tips/tip98.htm提取): Private Sub Worksheet_Change(ByVal Target As Range) 'Does the validation range still have validation? If HasValidation(Range("ValidationRange")) Then Exit Sub Else Application.EnableEvents = False Application.Undo MsgBox "Your last operation was canceled." & _ " It would have deleted data validation rules.", vbCritical End If End Sub Private Function HasValidation(r) As Boolean ' […]

Excel:显示单元格中的匹配内容

一点与Excel的noob。 我试图帮助我的部门做一个作业前台,根据所做的select插入数据。 到目前为止,我已经创build了一个下拉列表,它将检查单元号(数据validation – >列表 – >命名范围),然后添加单元名称(索引和匹配命名范围),并仅显示与该单元链接的可用条件(数据validation – >列表 – >间接)。 我遇到的问题是将标准描述符显示在所选标准旁边的单元格中。 我不想使用VBA或任何macros,因为工作人员和IT技术人员对安全性有偏见。 基于公式的解决scheme将是非常好的。 如果您下载 (更新的链接)我的电子表格可能更有意义。 谢谢 AC

Excel中的条件格式

我对Excel和VBA很陌生,想知道是否有一种方法可以根据下拉列表中的值(通过数据validation创build)进行条件格式化。 我现在有一个警告,如果用户input的东西是无效的(数据validation),但我想改变单元格的背景颜色为红色,如果无效,或绿色,如果有效。 我想要testing的选项同样在数据validation创build的下拉列表中。

工作簿通过电子邮件发送时,下拉列表消失

我在使用数据validation工具创build的Excel 2010工作簿上有一个下拉列表。 列表中的数据是同一工作簿中单独表单中的一个范围。 但是,当我将此工作簿通过电子邮件发送给其他人并将其打开时,下拉列表将消失。 这不会影响我的其他单元格的数据validationtypes以外的“列表”。 是否有我在这里失踪的信任中心设置,或者这是Excel的已知问题?

Excel VBA – validation数据和逗号分隔的string

我试图纯粹用VBA创build数据validation单元格。 问题是,如果validation列表中的项目之一是包含逗号的Excel公式(例如以下代码中的IF()),则会生成错误。 Dim str As String str = "=IF(SUM(A1:A2) = 0, ""Zero"", SUM(A1:A2)) , Item 2 , Item 3 , Item 4" s1.Range("B6").Validation.Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=str 因为它在第一个逗号分隔string,所以产生了错误(运行时错误1004),所以validation的第一项是"=IF(SUM(A1:A2) = 0" 。我希望有转义字符(如C中的\)来避免这种情况,我想validation的列表如下所示: <result of IF() function> Item 2 Item 3 Item 4 注意:我不能使用范围来validation数据。 如果用户删除了该电子表格将被破坏的范围。

当我合并工作簿时数据validation停止工作

我使用视觉基础将8个工作簿合并在一起; 但是,当我这样做,我的数据validation停止工作,除了新的工作簿的第一页。 有谁知道为什么这可能发生,我能做些什么来解决它? 是否有可能合并工作簿,而不使用视觉基础,可能会保持数据validation? 非常感谢你的帮助!

防止在Excel中复制粘贴

嗨,所有的菜鸟又回来了。 我正在做一个从一个工作表到另一个隐藏的数据的复制粘贴工作,但有一个危险的是,如果不检查已经粘贴的数据将被复制。 到目前为止,我所做的是在我要复制的工作表中插入一个代码来停止重复,但是现在我所遇到的复杂情况是,validation是从头到尾检查整个列中的每一个数据位,这是约5000 <条目。 B列的报表date对于属于同一个月末的所有条目都是相同的。 因此,它将有30/1/13 … 5000与另外28/02/13等条目。理想情况下,我只想在列B中检查一次报告dateinput,如果date匹配我想复制,然后拒绝整个复制粘贴过程,而不是validation复制范围中的每个单独的条目。 这是我正在使用的代码。 我希望我有道理,非常感谢你的帮助。 Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range Dim ans As String Const myCol As Long = 2 If Intersect(Target, Columns(myCol)) Is Nothing Then Exit Sub Application.EnableEvents = False For Each r In Intersect(Target, Columns(myCol)) If Application.CountIf(Columns(myCol), r.Value) > 1 Then MsgBox (r.Value […]