excel vba中 range.text和range.value的区别我知道text和value的区别,但是我编辑的下列代码让我很模糊.我有一个窗体,上面一个ComboBox和一个CommandButton,首先在ComboBox里录入值,通过单击按钮,判断sheet3表
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/02 14:19:35
excel vba中 range.text和range.value的区别我知道text和value的区别,但是我编辑的下列代码让我很模糊.我有一个窗体,上面一个ComboBox和一个CommandButton,首先在ComboBox里录入值,通过单击按钮,判断sheet3表
excel vba中 range.text和range.value的区别
我知道text和value的区别,但是我编辑的下列代码让我很模糊.
我有一个窗体,上面一个ComboBox和一个CommandButton,首先在ComboBox里录入值,通过单击按钮,判断sheet3表中A列从上往下是否为空,如果为空,则将ComboBox的值赋到该单元格内并放弃继续向下查找,如果不为空,则判断该单元格的值是否与ComboBox值相同,相同则放弃向A列录入,如果不相同,则继续在A列向下判断单元格是否为空.以1000行为例,重复在ComboBox中录入”111“然后多次点击按钮的两种代码如下:
代码1:
For a = 1 To 1000
If Sheet3.Range("A" & a).Value = "" Then
Sheet3.Range("A" & a).Value = ComboBox1.Value: Exit For
Else
If Sheet3.Range("A" & a).value = ComboBox1.value Then
Exit For
End If
End If
Next
代码2:
For a = 1 To 1000
If Sheet3.Range("A" & a).Value = "" Then
Sheet3.Range("A" & a).Value = ComboBox1.Value: Exit For
Else
If Sheet3.Range("A" & a).Text = ComboBox1.Text Then
Exit For
End If
End If
Next
代码2只是将代码1中间的那个if中的value换成了text,就实现了我想要的效果(只有一个单元格赋值为”111“),而代码1则是按一次按钮,就会在A列赋值一个”111“,请问这是为什么,另外如果将代码1或代码2中所有的value都变成text,是否也能实现我想要的效果.
请高人来回答一下,多谢了.
excel vba中 range.text和range.value的区别我知道text和value的区别,但是我编辑的下列代码让我很模糊.我有一个窗体,上面一个ComboBox和一个CommandButton,首先在ComboBox里录入值,通过单击按钮,判断sheet3表
数据类型不同.
如单元格的格式为“常规”,Range.value的数据类型会根据单元格内容而改变.
如内容为"ABC"则为文本型,内容为“123”则类型为数值型
而Range.text、 ComboBox1.Value、 ComboBox1.text均为文本型
你的代码1,如输入"abc",则没问题;如输入123,则会重复添加.