有关VBA代码

大家好!有个代码在此请教大家。如果T列中小于1000的数值,那么在U列中写入A,如果T列大于或等于1000的数值,那么在U列中写入B.谢谢大家!下面是样表:
A B ... T U
1 100 A
2 1096 B
3 1 A
4 96 A
5 1000 B
6 10096 B
.

.
.
.

T = 20: U = 21 '设置T列和U列的列号,方便后续调用
i = 1
Do While Cells(i, T) <> "" '如果T列的数值不等于空值就向下逐一遍历
If Cells(i, T) >= 1000 Then '如果T列此单元格数值大于等于1000就进行相应操作
Cells(i, U) = "B"
Else
Cells(i, U) = "A" '小于1000赋值A
End If
i = i + 1 '计数器加1,用于查看下一行
If i > 65336 Then Exit Do
Loop

为防止程序出错,还可以加入判定单元格数据是否为数值功能,即if 单元格数值为数值,执行判定,否则不执行判定并给出提示信息,转下一行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-09
用公式就可以了,没有必要用VBA
在U列写公式
=If(T1<1000,"A","B")
往下一拖就可以了
第2个回答  2010-06-09
Sub atest()
i = Application.InputBox("输入要判断数据所在行的字母:如果在T行就输入字母T")
Range("b1").Select
totalR = ActiveCell.End(xlDown).Row
For R = ActiveCell.Row To totalR
If ActiveCell < 1000 Then
Selection.Offset(0, 1).Value = "A"
ActiveCell.Offset(1, 0).Select
Else
Selection.Offset(0, 1).Value = "B"
ActiveCell.Offset(1, 0).Select
End If
Next R
End Sub
相似回答