
VBA
刀笔小周
喜欢写点技术类的文章,也喜欢写点剧本,不知道以后能不能搬上荧幕。
展开
-
用VBA模拟7段数码管显示数字
上次在PPT中用VBA编制了一个计时器,实现了倒计时功能,但是我觉得这个计时器不够酷炫,如果采用7段数码管显示数字,那就够COOL了。为了实现这个功能,我把任务进行了分解,今天先完成第一步,如何用VBA实现7段数码管的数字显示。最开始,我想采用画线的方法,但是VBA不支持Picture控件,所以得另外想招。我想到一个办法,添加7个小长条的Image控件,通过控制背景颜色的方式来实现数码管的功能。下面是源代码,加入了Timer用以控制循环,实现了从0-9的数字显示。程序资源我已经上传到我的博客中,原创 2020-05-11 12:04:39 · 1597 阅读 · 0 评论 -
PPT中的计时器
因在PPT播放过程中,需要使用计时器,在网上找了半天也没找到合适的,所以就用VBA自己写了一个。思路很简单:添加两个控件,一个Label,一个按钮控件。 使用Timer记录时间,每个1秒钟,修改LABEL的数值。 通过一个函数,把整数型的时间数值,改为时间型,XX:XX。Private Sub CommandButton1_Click()Label1.Caption = "...原创 2020-05-01 20:52:06 · 2728 阅读 · 1 评论 -
VBA中对内存地址的操作
VB中不支持指针数据类型,相应的VBA也不支持指针数据类型,因此也没有类似于C语言中的地址操作符&,但是仔细研究后,VBA还是支持一些地址操作的。这里介绍两种函数,Varptr(),Strptr()。Varptr()返回一个变量(字符串变量除外)的首地址,Strptr()返回一个字符串变量的首地址。代码段:Dim aa As IntegerDim bb As Integer...原创 2020-04-27 21:57:45 · 2165 阅读 · 0 评论 -
用VBA编写的简易计算器
我用EXCEL2010的VBA编写了一个简易计算器,代码很简单,核心内容是如何计算字符串表达式(例如“3+2*5”),JAVAscript、Python中可以使用EVAL()函数,但是VBA中没有该函数。经过一番查找,发现在VBA的宏表函数中有一个类似的函数evaluate(),我就用EXCEL表中的单元格、“名称”中转了一下。待我写完后,我发现一个更简单的方法,直接用Application.Ev...原创 2020-03-27 15:06:10 · 3877 阅读 · 2 评论 -
非主流编程方式之--云IDE在线编程
在编写程序时,程序员通常是在本地的IDE中编写程序,然后在本地编译、执行。可能还有一批怀旧的程序员,通常使用文本编辑器(例如ultraEdit、EditPlus、NotePad++等)编写程序,然后用编译程序编译源程序,得到可执行文件,然后再运行可执行文件。今天我给大家介绍的非主流编程方式是:在线编程。提到在线编程,首先给大家介绍一个网站:https://ideone.com/,该网站提供多种在...原创 2020-02-17 15:03:58 · 419 阅读 · 0 评论 -
用VBA统计涂色单元格的信息
用EXCEL制作一份工作日历,涂颜色的单元格表示休息日(共有4种颜色,深红一种,浅红2种,橙色一种),白色表示工作日,现在需要统计每个月休息日的数量,如何实现?在EXCEL中按条件选择数据,通常使用“筛选”功能,而且在EXCEL 2010中已经具备了按颜色筛选的功能,但是这种筛选只能在同一列数据中进行,对于不同列的数据就无能为力了。考虑用VBA实现,单元格的颜色信息对应哪个属性,经过...原创 2020-01-08 11:54:32 · 787 阅读 · 0 评论 -
用两种方法求解九宫算问题
问题:在一个3*3的方格内填入9个数字,数字的范围从1~9,每个数字仅出现一次,使得每行、每列以及两个对角线的数字之和为15。 一、VBA程序算法思路:1、将9个数字分成3组,每组3个数字,使得每组数字之和为15。2、将第二个数字为5个分组单独选出,作为方格的第二行数组。3、循环抽取其它的分组,与第二分组进行重复性判断。4、如果没有重复,记录这3种分组。5、将这3种分组传人判断函数,核实是否满足条...原创 2018-06-28 08:29:06 · 2877 阅读 · 0 评论 -
数据有效性 动态选择
EXCEL有两列数据栏,A列和B列,都是通过下来框来选择,要求A列选择完成后,B列动态调整可选择的内容。例如:第一例选择“AA”,第二列可供选择的范围是“a-d”;第一例选择“BB”,第二列可供选择的范围是“e-h”;第一例选择“CC”,第二列可供选择的范围是“i-w”;第一例选择“DD”,第二列可供选择的范围是“w-z”; AA a b c d BB e f g h CC i ...原创 2018-06-12 08:17:26 · 5283 阅读 · 0 评论 -
编程小技巧 --用VB解决时间同步的问题
现在,许多C/S型的应用程序都要求客户机与服务器时间同步,大多数程序员用存储过程来解决这一问题,但存储过程编写起来有一定的难度。我在摸索中找到了一种方法,可以很好的解决这个问题。Windows XP/2000中有一个命令:nettime。这个命令是用来读取服务器的时间,将客户机的系统时间设置为服务器的时间。以后当我们需要调用服务器时间的时候,可以直接读取本地时间,而读取本地时间对我们来说是很容易的...原创 2018-06-04 08:28:07 · 2203 阅读 · 0 评论 -
VBA中使用EXCEL工作表函数
EXCEL的VBA有两个函数库,一个是VBA的函数库,另一个是EXCEL工作表函数,也就是我们在单元格中使用的函数,两个函数库不是完全一样的。例如FIND(),VLOOKUP(),在VBA的函数库中是没有的。通常,为了实现这些功能,我们需要自己写这些函数,但是还有另外一种方法,通过Application对象调用这些函数,方法如下:Application.WorksheetFunction.Find...原创 2018-05-23 12:29:08 · 11441 阅读 · 0 评论