注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐

10个简单的VBA编程  

2010-12-02 14:07:58|  分类: VB和VBA知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

10个简单的VBA编程

 

VBA编程

1 )输出任意两个数中最大的数。

参考代码:

Public Sub t1()

Dim a As Single

Dim B As Single

a = InputBox("请输入A")

B = InputBox("请输入B")

If a > B Then Debug.Print "A:"; a; "和 "; "B:"; B; "中最大的数为"; a Else Debug.Print "A:"; a; "和"; "B:"; B; "中最大的数为"; B

End Sub

2 )输出任意 10 个数中负数的个数,偶数的个数,奇数的和。

参考代码:

Public Sub t2()

Dim a(1 To 10) As Single

Dim B As Single 'B为负数个数

Dim C As Single 'C为偶数个数

Dim D As Single 'D为奇数和

B = 0

C = 0

D = 0

For I = 1 To 10

a(I) = InputBox("请输入", I)

If Sgn(a(I)) = -1 Then

B = B + 1

Else

If (a(I) Mod 2) = 0 Then

C = C + 1

Else

D = D + a(I)

End If

End If

Next I

Debug.Print ("负数个数:"); B; ("偶数个数:"); C; ("奇数和:"); D

End Sub

3 )求 S 的值。 S=1+ 1+2 + 1+2+3 + 1+2+3+4 )……( 1+2+3+4 …… +N )(令 N=50

参考代码:

Public Sub t3()

Dim a As Single

a = 0

For I = 1 To 50

For j = 1 To I

a = a + j

Next j

Next I

Debug.Print a

End Sub

4 )求 P 的值。 P=1+2!+3!+4!+5!+6!+7!+8!+9!+10!

参考代码:

Public Sub t4()

Dim a As Single

a = 0

Dim B As Single

For I = 1 To 10 Step 1

B = 1

For j = 1 To I Step 1

B = B * j

Next j

a = a + B

Next I

Debug.Print a

End Sub

5 )输出 1 100 自然数中被 3 整除的数据的个数及它们的和。

参考代码:

Public Sub t5()

Dim a As Integer

Dim B As Integer

a = 0

B = 0

For I = 1 To 100

If I Mod 3 = 0 Then

a = a + 1

B = B + I

End If

Next I

Debug.Print "被3整除的个数为:"; a; "和为:"; B

End Sub

6 )输出 5 5 列方阵,使对角线上的元素为 1 ,其它元素为 0

参考代码:

Public Sub t6()

Dim a(1 To 5, 1 To 5) As Integer

For I = 1 To 5

For j = 1 To 5

If I = j Then a(I, j) = 1 Else a(I, j) = 0

Debug.Print a(I, j);

Next j

Debug.Print Chr(13)

Next I

End Sub

7 )输出 5 5 列方阵,使方阵的上三角元素为 1 ,其它元素为 0

参考代码:

Public Sub t7()

Dim a(1 To 5, 1 To 5) As Integer

For I = 1 To 5

For j = 1 To 5

If I <= j Then a(I, j) = 1 Else a(I, j) = 0

Debug.Print a(I, j);

Next j

Debug.Print Chr(13)

Next I

End Sub

8 )试求出 5 5 列的方阵中每行的最小的数。

参考代码:

Public Sub t8()

Dim a(1 To 5, 1 To 5) As Integer

Dim B As Integer

For I = 1 To 5

For j = 1 To 5

a(I, j) = InputBox("请输入数组元素A[" & Str(I) & "][" & Str(j) & "]")

Next j

Next I

For I = 1 To 5

B = a(I, 1)

For j = 2 To 5

If B > a(I, j) Then B = a(I, j)

Next j

Debug.Print B

Next I

End Sub

9 )输出任意 10 个数中超过平均值的个数,并将超过平均值的个数在窗体上输出。

参考代码:

Public Sub t9()

Dim a(1 To 10) As Single

Dim B As Single

Dim C As Integer

B = 0

C = 0

For I = 1 To 10

a(I) = InputBox("请输入第" & Str(I) & "个数:")

B = B + a(I)

Next I

For I = 1 To 10

If a(I) > B / 10 Then

Debug.Print a(I)

C = C + 1

End If

Next I

Debug.Print C

End Sub

10 )按从小到大的顺序输出任意 10 个数。

参考代码:

方法一:直接插入法

Public Sub t10()

Dim a(10) As Single

For I = 1 To 10

a(I) = InputBox("请输入第" & Str(I) & "个数:")

Next I

Dim j As Integer

For I = 2 To 10

If a(I) < a(I - 1) Then

a(0) = a(I)

j = I - 1

End If

While a(0) < a(j)

a(j + 1) = a(j)

j = j - 1

Wend

a(j + 1) = a(0)

Next I

For I = 1 To 10

Debug.Print a(I)

Next I

End Sub

  评论这张
 
阅读(2888)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017