您的位置:首页 > 编程语言 > VB

VB热身:走进VBA&Excel高级应用

2016-04-30 20:47 525 查看

几个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程序编写能够更顺畅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: