用VBA设置工作表的数据有效性
一个工作簿,添一个命令按钮,代码如下:
Private Sub CommandButton1_Click()
With Range("A1:A10").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="1,2,3,4"
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Range("C1:C10").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="8,7,6,5"
End With
End Sub
但是工作表的SelectionChange事件能正常运行
而按钮的Click事件中就会出错。为什么呢?
50分等高手
再试了一次,在Label的click事件中正常运行,Private Sub Label1_Click()
我可以继续工作了,但仍然继续悬赏,希望大家回答
前面也曾出现过提示automation错误,不知道什么意思
--------------------------------------------
在excel2007下完全正常,在2003下按钮的click事件出错,其他两个正常
“运行时错误'-2147417848(80010108)':
方法'Add'作用于对象'Validation'时失败”
不知一楼的运行环境是什么
---------------------------------------
二楼说的改了也没用,没加private,代码写在sheet1下应该也私有的吧
excel利用VBA生成无重复无空值的数据有效性下拉列表
1.按Alt+F11,打开VBA编辑器。2.在“工程”窗口中双击要包含数据有效性设置的工作表,在右侧代码窗口中输入下列代码:Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim RowNum, ListRows, ListStartRow, ListColumn As Integer Dim TheList As String Dim Repeated As Boolean If Targe...
excel vba 数据有效性问题
在你单击CommandButton1控件时,该控件被激活,Validation失效。你可以通过激活工作表上的其他一些元素来避免该问题。'Private Sub CommandButton1_Click()Range("a1").Activate With Range("A1:A10").Validation .Delete .Add Type:=xlValidateList, _AlertStyle:=xlValidAlertStop, _Operator:=xlBetwee...
Excel VBA 跨表 批量设置数据有效性,悬赏100,如各位马上帮忙解决OK,加...
看了你的问题,不知道你的想法是采用函数还是VBA解决,我认为用函数将能解决这个问题了。方法如下:(按数据来源在“数据有效性引用”表,输入是在“数据源”表写公式)1.点插入——名称——定义,输入名称“数据”,在引用位置输入公式=OFFSET(数据有效性引用!E$1,0,0,MAX((数据有效性引用!E$1:...
excel如何避免因补充破坏数据有效性
Excel 数据有效性(在 Excel 2013 及以上版本中改称数据验证)是一项很方便的功能,帮助我们让用户在单元格中输入指定的数据。然而,将数据复制粘贴到设置了数据有效的单元格时,会破坏掉数据有效设置。利用VBA 代码,可以避免因粘贴数据而破坏单元格数据有效设置。我原来的思路是,如果是有数据有效设置的单元格,在用户粘贴...
Excel 请教如何用VBA设置整列的数据有效性
手机WPS表格中怎么设置数据有效性,数据有效性控制数据长度
vba数据有效性代码不知道为什么实现后没有右边的下拉箭头。。(>_<)求...
我觉得问题有可能出在“Formula1:=”后面的表达式上。不知道“提取不重复值(xxx)”这个表达是否是个自定义函数。虽然我不懂函数,但结合数据有效性的表达规则分析:1. 如果这个表达返回的是字符串型的结果,则该结果不应为空,而且其结果返回格式应类似于 .Add Type:=xlValidateList, AlertStyle:=...
Excel 如何利用VBA设置数据有效性
.Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _xlBetween, Formula1:="1,2".IgnoreBlank = True .InCellDropdown = True .InputTitle = "".ErrorTitle = "".InputMessage = "".ErrorMessage = "".IMEMode = xlIMEModeNoControl .ShowInput = True .Show...
VBA与数据有效性
数据有效性可以使用公式,=IF($A$1=1,$A:$A,IF($A$1=2,$B:$B,IF($A$1=3,$C:$C,$D$D)))我觉得这样是最简单的。但是excel2003数据有效性公式有长度限制,按照问者的要求只能实现到a1=3,再多写就不接受了。
EXCEL VBA 数据有效性代码问题
在VBA工程浏览器里双击你要控制的工作表,如Sheet1,添加Worksheet的change事件,就是当工作表里文本发生改变时触发该事件,参数是发生改变的区域。代码如下:Private Sub Worksheet_Change(ByVal Target As Range)If Target.Text = "123" Then '如果选择的是123 Target.Interior.Color = RGB(255, 0, ...
excel数据有效性
数据有效性是验证用户输入数据,不能验证公式的计算结果;如果要实现你要求的功能,按alt+F11键,在工作表加入vba代码如下:Private Sub Worksheet_Change(ByVal Target As Range)If [b1] < 50 ThenMsgBox ("数据小于50!")End IfEnd Sub