VB逐行读取excel里的数,并要计算
发布网友
发布时间:2024-10-01 06:51
我来回答
共2个回答
热心网友
时间:2024-12-05 00:39
是挺乱的。。
或者是 cells(X1,Y1)<Ts<cells(X2,Y2)的x1的位置 这个没在明白
首先
If xlApp.Cells(i, 2).Value < Ts Then i = i + 1
If xlApp.Cells(i, 2).Value < Ts Then i = i + 1
这两个IF是一样的。何必写两次?
ElseIf xlApp.Cells(i, 2).Value > Ts Then ii = i
ElseIf xlApp.Cells(i, 2).Value = Ts Then ii = i
这为什么不写成 ElseIf xlApp.Cells(i, 2).Value > =Ts Then ii = i
你是只要查找B列=Ts的行号吗?
dim srt as string
dim i as Integer
srt ="等于TS的行号有"
for i = 1 to 65536
If xlApp.Cells(i, 2).Value = Ts Then
srt= srt & "," & i
end if
next i
msgbox srt
没跑过。。不知道行不行。。
热心网友
时间:2024-12-05 00:39
寻找等于TS的单元格位置
dim x,y
dim n() as string
x=1
for x=1 to 65535 '循环从1到65535
y=1 '初始化y
for y=1 to 255 'excel最多255列
if xlApp.Cells(x,y).Value = Ts Then '如果等于Ts
redim n(Ubound(n)+1) '重定义n数组元素个数为原个数+1
n(Ubound(n)-1)=x & "|" & y '为数组赋值 这的Ubound(n)已经和上面的不一样了
end if
next y
next x'防止死循环,excel最多65535行
dim str as string
str=""
for i=0 to Ubound(n)-1
str=str & n(i) &","
next
但你后面的要求我不太理解
cells(X1,Y1)<Ts<cells(X2,Y2)
小于Ts和大于ts得所有单元格坐标???