很多办公软件都支持vba语法,比如word,excel,coreldraw等等,工作中经常会遇到有规律的重复性操作,比如打印一批序列号,序列号每次虽然不同,但是其规律是序列的数字部分每次加1。遇到这类情况,写一段小程序,让vba来自动操作,是一个很棒的选择。
vba语法格式
If 条件1 Then
条件1为真时要执行的语句
ElseIf 条件2 Then
条件2为真时要执行的语句
ElseIf 条件3 Then
条件3为真时要执行的语句
ElseIf 条件N Then
条件N为真时要执行的语句
Else
所有条件都为假时要执行的语句
End If
使用实例
客户有一批产品要求粘贴序列号,之前都是仅展示一行数字,临时加了要求:数字下方要求显示一个code,根据不同规格的产品,code的内容有所不同。这里就有了两种规则,序列号是每次加1,而code是每个规格变化,所以拖拽填充的方法不可行了,于是用vba来实现判断,修改code,程序如下:
Sub test()
j = 1
Count = 1001
For I = 1 To 9
Cells(j, 1) = Count
Cells(j, 2) = Count
If I <= 3 Then
Cells(j + 1, 1) = "CODE AA"
Cells(j + 1, 2) = "CODE AA"
Cells(j, 3) = "100kg"
Cells(j + 1, 3) = "100kg"
ElseIf I <= 6 Then
Cells(j + 1, 1) = "CODE BB"
Cells(j + 1, 2) = "CODE BB"
Cells(j, 3) = "300kg"
Cells(j + 1, 3) = "300kg"
ElseIf I <= 9 Then
Cells(j + 1, 1) = "CODE CC"
Cells(j + 1, 2) = "CODE CC"
Cells(j, 3) = "1000kg"
Cells(j + 1, 3) = "1000kg"
End If
j = j + 2
Count = Count + 1
Next
End Sub
最终效果如下: