请教各位VB或编程高手个VSTO问题(已解决)
- liuxuu在VBA里
dim a as range
for each a in range("a1:b5")
a = a+1
next
这样写,没问题
写入VSTO为
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
myrange = Globals.ThisAddIn.Application.Selection
m = myrange.Address
Dim asd As excel.range
For Each asd In Globals.ThisAddIn.Application.Range(m)
asd.value = asd.value + 1
Next
[本帖最后由 liuxuu 于 2014-9-5 11:14 编辑] - sumeruVB的语法不熟悉,看起来是 Dim asd As interger 这行有问题,你把一个Range类型赋给asd,asd也该声明成Range
- zxsoft楼上回答正确,for each in之间的变量类型肯定是数组或集合里面单个元素的类型。Range里面还是Range,你声明成integer明显不对,改为Range或者Varient即可
- liuxuu谢谢,但是改成excel.range后后面有没有办法实现+1的运算,怎么解决,谢谢。
- liuxuu谢谢,但是改成excel.range后后面有没有办法实现+1的运算,怎么解决,谢谢。
- breeze7086是不是需要加强制类型转换?
- sumeru你是想把range对应的cell的值加一吗,你试试用range.value(或者类似的属性)
range.value = range.value+1 - liuxuu高手,就是缺了个value 谢谢了。今天的祭扫剩下的全加个你了
[本帖最后由 liuxuu 于 2014-9-5 11:12 编辑]