VBA使用range给单元格赋值?
VBA使用range给单元格赋值?
我输入的代码有问题吗?为什么点击运行之后没有反应?
程序没有问题,是可以工作的,执行后能看见效果。
提示一点,程序使用的是Sheet2这样的 *** ,还有一种引用工作表的 *** 是Sheets("sheet2"),一般情况下这两种 *** 表示的同一个表,但是并不一定是,后面的 *** 更加通用。
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,是否也能实现我想要的效果。
请高人来回答一下,多谢了。


value :是数据的意思
text 是文本的意思
具体到excel,一般是在设置了单元格格式后才有区别,比如你设置单元格格式为日期格式,
然后在该单元格输入 2013-3-5 因为单元格格式,所以单元格实际显示为 2013年3月5日
那么这个时候, value=2013-3-5 , text =2013年3月5日。
或者你可以简单的理解为:value就是你输入的数据,text 是单元格实际显示的文本。
至于你的问题,我感觉根本原因不应该是这个。是不是你设置了单元格格式。
下面分享相关内容的知识扩展:
怎么用vba在range中表示变量
比如我想表达从A1 到FY(y是变量,表示最后一行有内容的行)是不是应该写range(“A1:F”&Y)还是有别的写法。好友就是,这个range如果在application。worksheetfunction里面是不是应该把“”改成“”“”或者告诉我怎么用cells来表示从A1到FY这个区域(y还是一个变量)也可以
range(cells(1,1),cells(y,"f"))
vba问题: range("a" &i : "c" &i) 是什么意思,更好把每个字母和符号都解释
vba问题: range("a" &i : "c" &i) 是什么意思,更好把每个字母和符号都解释一下,谢谢!range()一个范围
"a" 第a列
&字符串连接符
i第行
:
"c"第c列
&
i第i行
range("a" &i : "c" &i) 放在循环里,根i变量变化,就会取得如:
ragne("a1:c1")、ragne("a2:c2")等。
VBA两个宏合并成一个后,range函数老是出错
分情况讨论。可能是range后的字母大小写出现问题,也可能是range本身书写有问题,如果还不能解决,可能是没有激活到所需工作单,第二行添一句workbooks(数据所在xls)activate。
宏是一种批量处理的称谓,宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。