annaizy 发表于 2006-1-6 16:34:37

求助VBA编程

求助VBA编程

一.三角形

下表是三角形三边的记录表:



边长1 3 3 2 2 3
边长2 4 3 7 6 4
边长3 6 5 9 4 5












请作如下判断:作如下判断:

1) 如果三边无法构成三角形,请将单元格底色设为红色,否则设为绿色
2) 如果是直角三角形,请将单元格前景色改为红色
请编写一个宏,采用循环语句完成。




二。
1)发现有重复的人员,请将重复的条数删除
2)将出勤点数和工作表现都大于平均值的人员,采用蓝色背景显示
(见附件)

我一点都不会,帮帮我吧!!!!
%&098 %&098 %&077

milanese 发表于 2006-1-6 19:37:51

回复: 求助VBA编程

VBA编程好像是在Excel里面使用VB编程,先前没有接触过,只能给予一点编程思路了。
第一题是判断三角形构成条件。判断依据是“任意两条边之和大于第三边”。我们可以这样理解,两条较小的边之和大于第三边。因此,首先对三个数进行排序。可采用“冒泡排序”的方法实现。然后对较小两个数进行加法与平方和运算。与第三个数比较一下就能得到结论。
第二题是数据库编程的基本题,其实就是C语言里面的结构体数组。你可以采用“一边遍历一边新建”或“一边遍历一边删除”的方法完成。
采用“一边遍历一边新建”的方法需要新建一个表二和两个累加器,表二的第一个值是表一的第一个值,一个累加器计数用,初始值是1,另一个累加器计算平均值用,初始值是表一第一个数据的工作表现。然后遍历第表一,每读取表一的一个编号,就和表二中已添加的编号循环比较,若表二中没有,将表一的该值则添加至表二,同时计数累加器加1,平均值累加器加上表一选中编号的工作表现。循环搜索表一完成后,表二就是所需数据表。
采用“一边遍历一边删除”的方法与上述方法类似,只是遇到相同编号的时候,将后面的数据前挪一格。具体就不说了。
至于最后显示什么的,对于稍微熟悉一点VBA编程基本操作的人来说都不难。
页: [1]
查看完整版本: 求助VBA编程