几个vb小程序
在给大家讲Excel宏之前,让我们通过几个VB小例子来了解一下VB这门语言吧:
首先说明,VB编程是基于控件的,也就是你要先从左边控件窗口拖一个控件到窗口中去,然后双击控件进行编程。具体要拖那个控件来添加某一段程序,自己仔细琢磨琢磨就知道了。需要判断程序是哪一个控件的事件处理程序,这就不多说了。
- 1到100累加
Private Sub Command1_Click()
Dim S%,I%
S = 0 ' 累加前变量S为0
For I = 1 To 100
S = S + I
Next I
Print " S=",S
End Sub
- 2步进循环
Private Sub Command1_Click()
Dim i As Integer,n As Integer
Dim sum As Integer
sum = 0
For i = 1 To 99 Step 2
sum = sum + i
Next i
Print sum
End Sub
- 99乘法表的打印
Private Sub Command1_Click()
For i = 1 To 9
For j = 1 To 9
se = i & "×" & j & "=" & i * j
Picture1.Print Tab((j - 1) * 9 + 1); se;
Next j
Picture1.Print
Next i
End Sub
- do循环
Private Sub Command1_Click()
Dim i As Integer
Dim n As Integer
n = InputBox("请输入一个整数") '11
For i = 2 To n - l '从2到10做循环
If n Mod i = 0 Then
Exit For '提前结束循环
End If
Next i
If i < n Then '循环体结束后 i的值<11
Print n & "不是素数"
Else '否则
Print n & "是素数"
End If
End Sub
Private Sub Command2_Click()
Dim i As Integer
Dim sum As Integer
i = 1
sum = 0
Do
sum = sum + 1
i = i + 1
If i > 100 Then Exit Do
Loop
Print sum
End Sub
- 计算圆的面积
Private Sub Command1_Click() '定义点击方法
Dim r As Single,v As Single '定义变量为单精度型
Const PI = 3.14 '定义常数PI
r = Val(InputBox("请输入圆半径","面积计算",0)) '输入消息事件窗口
v = PI * r ^ 2 '计算
Label1.Caption = Label1.Caption + Str$(v) '标签显示运算结果
End Sub
- 简单计算示例
Private Sub Command1_Click()
Dim Fl%,F2%,F3%,I%
F1 = 1
F2 = 1
Print Fl; F2
For I = 3 To 15
F3 = F1 + F2
Print F3
F1 = F2
F2 = F3
Next
End Sub
- 交换两个变量的值
Private Sub Command1_Click()
Dim temp As Single,x As Single,y As Single
x = Text1.Text
y = Text2.Text
temp = x
x = y
y = temp
Text3.Text = x
Text4.Text = y
End Sub
- 判断打印
Private Sub Command1_Click()
Dim i As Integer,j As Integer,k As Integer
Dim n As Integer
n = 0
Print " 1的个数","2 的个数 ","5的个数 "
For i = 0 To 10
For j = 0 To 5
For k = 0 To 2
If i + j * 2 + k * 5 = 10 Then
n = n + l
Print i,j,k
End If
Next
Next
Next
Print n & "种方法"
End Sub
- 摄氏度转换为华氏度
Private Sub Command1_Click()
Dim C As Single,F As Single
Dim str1 As String
C = Val(Text1.Text)
F = 9 / 5 * C + 32
str1 = "摄氏" + Str$(C) + "度相当于华氏" + Str$(F) + "度"
MsgBox str1,"转换温度"
End Sub
- 循环变量
Private Sub Command1_Click()
Dim i%,n&,t!,e!
e = 0
i = 0
n = l
t = l
Do While t > 0.00001
'Do While t > 0. 00001
e = e + t
i = i + l
n = n * i
t = l / n
Loop
Print e
End Sub
- 循环的实现
Private Sub Command1_Click()
Dim i As Integer
Dim sum As Long
i = 1
sum = 0
Do While i <= 10000
sum = sum + i
i = i + 1
Loop
Print sum
End Sub
Private Sub Command2_Click()
Dim i As Integer,n As Integer
Dim sum As Integer
n = Val(Text1.Text)
sum = 0
i = 0
Do Until i > n
sum = sum + i
i = i + 1
Loop
Text2.Text = sum
End Sub
- 最大公约数和最小公倍数
Private Sub Command1_Click()
Dim n%,m%,nm%,r%
m = Val(InputBox("m="))
n = Val(InputBox("n="))
nm = n * m
If m < n Then
t = m
m = n
n = t
End If
r = m Mod n
Do While (r <> 0)
m = n
n = r
r = m Mod n
Loop
Print "最大公约数=",n
Print "最小公倍数=",nm / n
End Sub
经验总结
- Dim ab As integer,sum As single等价于
Dim ab%,sum!
- 数值转换为字符串方法有:
1、显示转换 使用Str()函数
2、隐式转换 例如:Text1.text=100; - Text1.text=100 等价于
Text1.text=“100“
`’ - For to ……Next
和C的风格还是有点不一样
作为学C出身的,写这么幼稚的VB程序,估计都会给学VB的同学笑话。本意只是想通过几个VB小程序,让没学过VB的同学对它有个了解,以便我接下来讲VBA程序编写能够更顺畅。