企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

14、VBA代码+excel内置函数,实现高效数据处理(零基础入门)

wudianyun 2025-07-03 01:16:44 精选文章 2 ℃


1、学习VBA的主要目的是数据处理,VBA在数据处理上展现出强大的计算实力。它不仅完美继承EXCEl内置函数的功能,还能通过编程语法实现更灵活的应用。无论是基础的加减乘除,还是复杂的统计分析、逻辑判断,都能通过worksheetfunction轻松调用。再配合循环、条件语句,可构建自动化计算流程,大幅提升数据处理效率与精确度。

2、VBA的运算符

'1)赋值运算符 :=

'2)数学运算符: &(字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)

'3)逻辑运算符:Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)

'4)关系运算符: = (相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)


3、郭靖背着中了铁砂掌的黄蓉,闯入黑龙潭,瑛姑脾气古怪,见二人闯入,岂肯轻易放行。她提出若能解开难题便放他们走,还要指引能救黄蓉性命之人。说罢出题:如下图(解题代码如下)

Sub 瑛姑的题()

Dim x, n

n = 1

For x = 1 To 100

If x Mod 3 = 2 And x Mod 5 = 3 And x Mod 7 = 2 Then

MsgBox x

End If

Next

End Sub

上面的判断语句就充分使用了逻辑符、关系运算符


4、内置函数语法列举:

求最大值---worksheetfunction.max

求最小值---worksheetfunction.min

求和---worksheetfunction.sum

平均值
---worksheetfunction.average

中位数
---worksheetfunction.median

标准差
---worksheetfunction.stdev_s

随机数
---worksheetfunction.randbetween()

平板除(求余)--mod()

绝对值--ABS()

int\fix 取整

四舍五入运算
---WorksheetFunction.Round(a, 1)


5、写一个抽奖小程序,A列是参与人员序号,B列是人名。人数不限。奖项放在E列,奖品放在G列。启动抽奖按钮获奖人员写到F列对应奖项和奖品。(效果如下,代码怎么写?)


Sub 抽奖程序()

Dim r%, n%, num%, m%, x%

Range("f3:f10").ClearContents

‘清除f列数据

r = Cells(999, 1).End(xlUp).Row

‘查找A列从下往上的非空单元格

For n = 1 To 8

'奖项总数8个,需要循环抽取8次

0

num=WorksheetFunction.RandBetween(1, r)

'记录一个(1 到 r)的随机数

For m = 3 To 10

If Cells(num, 2).Value = Cells(m, 6).Value Then

'说明该人员已中奖,重复再抽一次

GoTo 0 '返回0位置再生产一个随机数

End If

Next

Cells(10 + x, 6) = Cells(num, 2).Value

'将中奖名单记录到表格

x = x - 1

Next

End Sub


(本章完)有任何批评或疑问,可以在评论区讨论,谢谢!!

不论你是求知若渴的在校学生,还是在职场摸爬滚打多年的上班族,只要怀揣着提升自我的决心,别犹豫,快点赞、关注、收藏!我会始终站在零基础小白的视角,循序渐进,带你一步步踏入VBA的奇妙世界。

Tags:

最近发表
标签列表