本篇文章5176字,读完约13分钟

小组讨论了为什么基础excel函数教程等作为月经首页会很受欢迎,但得出的结论是,由于基础顾客很多,认为看了可能会有帮助而下单收藏。

所以更高级的东西,比如vba,对讨论结果不怎么热。 因为大部分人觉得一辈子都没用,所以不点收藏。

这个论点是有道理的。 因为我以前连载过罗技lua脚本系列,所以看数据就知道了。

但是,这次正好有征文。 visual basic是其中的一个选择题。 光写vb的话,我想更没人会看,所以结合实际,写简单的vba吧。

首先,vba的全名是visual basic for applications,本质上内置于应用程序中,采用了vb语法的脚本语言。

脚本语言的特点是保留生效,不编译。 所以调整一点细节的时候还是很方便的。

但是,由于vb是微软自己的,赋予了比lua这样纯粹的外部脚本大得多的权限,所以安全问题一直困扰着。 事实上,vbs病毒一直都有。 所以,我想顺利使用。 有一点前一步。 这里以office 2007版本为例。

首先,出于安全考虑,office默认不发出任何vba的东西,甚至没有按钮。 单击左上角,选择excel选项。

来定制,在右边找到开发工具选项卡,找到visual basic,拉到你想要的地方。

如图所示,直接拉到左上角的快捷键栏上,单击此按钮,进入vba的界面。

另外,默认的xlsx样式不包含宏,因此将其另存为xlsm样式。

另外,有时脚本无论如何都没有反应,但通常是office的安全设置问题。

首先是第一个选择,找到信任中心。

添加包含脚本文件文档的目录即可。

另一方面,在宏设置中,默认情况下启用所有宏。 适合文件多的朋友。

首先,使用之前添加的按钮进入vba界面,但缺省情况下会来到这样的地方。 sheet1、2、3是3张员工表,可以单独拥有独立的代码。 最后一个thisworkbook代码在整个文档中共享。

在这里使用全球通用的工作簿。

thisworkbook双击此按钮,缺省情况下将生成函数。 这个函数是对象的默认函数open。 我们不需要。 可以稍后删除。

本例中使用的函数是sheetselectionchange,顾名思义,是在业务表的选择区域发生变化时触发的。

私有subworkbook _ sheetselectionchange (可变目标位置范围)

cells .格式条件.删除

icolor = RGB ( 127,127,0 )

with target.entire row .格式约束条件

delete

. add xlexpssion,“真”

. item(1) .国际色彩=国际色彩

结束条件

with目标.企业列.格式条件

delete

. add xlexpssion,“真”

. item(1) .国际色彩=国际色彩

结束条件

最终辅

代码如上所示。

效果如下。

颜色传过来好像有点问题,大家聚在一起哦~

颜色可以用icolor = RGB ( 127,127,0 )这样的句子来改变。 这个效果只能用vba来实现。 适用于大量只读数据不令人眼花缭乱的情况。

但是,请注意vba进行的所有编辑都无法取消,因此必须小心。 就像代码一样,如果不更改单元格的样式,多写代码的保存和恢复,就无法撤消。

上一个首页很受欢迎,来推荐的是那几个函数,光是vlookup函数就见了几十次面。 但是,系统自带的函数,常用的和好用的也只有这些,有什么花可以推荐呢?

在这里,我教你制作自定义函数。

首先,自定义函数必须写在模块中,所以是右键单击、插入、模块。

然后,写简单的函数。

这个函数很简单,检索引用单元格的值作为副本,并连接返回字符串“波导终结器”。

vb函数的返回值赋值方法比较特殊,其他大多数语言是return xxx等,vb将函数本身作为变量赋值。 总之,最简单的自定义函数现在就是这样了。 观察在函数前面加一个公共符号以方便外部调用。

如果返回到表并划等号,然后划上自定义函数的前两个字符,您将看到自定义函数是自动完成的。

回到车里,解决。 如您所见,此单元的副本是引用单元的副本,并有波导终止符字样。 有些朋友可能会说这个函数也太简单了,请给我一些华丽的。 但是,每个人的具体诉求不同。 我只能教大家如何制作自定义函数。 具体做什么,只能按照自己的诉求写具体的代码。

“巧用VBA黑科技,让办公效率提升百倍”

如果您有具体诉求,同时编程有问题,欢迎您的光临

怎样才能真正提高工作效率?

使用vlookup函数代替右键菜单的副本,或者使用ctrl+c,生产力也是入门的,不值得。 事实上,在很多情况下,我们在职场的生产效率不仅取决于我们自己,也取决于协同职场和部门的效率。

列举经验也是许多朋友要面对的问题。 是过程和企划的合作。 以前在网游企业写脚本,需要企划和非常多的信息表达。 很多情况下,因为还没有决定计划那边的东西,所以我们不能做。 如果企划提供的东西太模糊了,之后必须向他再次确认。 但是,如果详细地说,例如涉及到过程核心的很小的数值,很多企划也是无知的。

“巧用VBA黑科技,让办公效率提升百倍”

例如,现在要制作新的怪物,从程序的立场来说,表里如一的几十个领域各有用处。 从脚本的角度来说,如果没有相关数值策划给你,我不会自己填你。 从企划的立场来看,对他们实际有用的是血蓝攻防的外观等。 所以我用vba做了小工具。

“巧用VBA黑科技,让办公效率提升百倍”

首先,列出所有字段,列出默认值,然后过滤要使用的字段。

如果单击左上角的“生成怪物数据表”,则会过滤这些有用的字段,从而生成excel表。 我只要按照这张表的数据填写数值就可以了。 但是,如果只是计划填写,即使计划自己也能做的事,这个生产效率也不会本质上提高。 效率提高的部分是一键生成笔刷库sql语句。

“巧用VBA黑科技,让办公效率提升百倍”

点击“生成insert或update数据”按钮后,将笔刷库文件输出到复制文件中,自动打开并复制即可。 在原来的流程中,各企划提供的数值样式各不相同,当然也不能一次性导入,所以各事件中,企划提供的数值必须每人人工填写,填写后核对,进行库测试……

“巧用VBA黑科技,让办公效率提升百倍”

采用vba后,整个过程从策划设计数值开始,到脚本刷库成功需要一段时间,从以往的0.5减少到1天左右到30分钟左右 (由策划决定数值的速度)。 。

脚本这里最麻烦的数据记录获取顺序是时间从3~5小时缩短到2秒左右,数据的正确率为100% (除非自己填写)

如果后续的数值发生了变化,甚至服务器表的结构发生了变化(例如,添加了字段),只需更改excel并再次单击按钮,就需要30分钟以内的时间。

虽然excel非常擅长解析这种有序、矩阵形式的数据,但只能通过系统函数和宏进行排序筛选。 我写这个脚本花了两天时间。 应用后,每天可以为策划和脚本节省数百小时的工作时间。 重要的是准确率100%。 我已经退休很久了,我想这个脚本现在还在用。 设计时已经通用,不同的项目只需修改表字段、表名即可通用。

“巧用VBA黑科技,让办公效率提升百倍”

因为代码的应用太具体了,所以在这里象征性地剪画。 重要的是,不能写代码。 例如,项目最初由a游戏制作,有50个场地。 如果写了50个的话,后面的b项目的字段会不一样。 代码必须全部改写。 在这里一定要通过循环和拷贝进行评价。 我不管你的字段有多少个,什么副本,总之只要按照规则,循环过滤所有的字段就可以了。

“巧用VBA黑科技,让办公效率提升百倍”

在excel中放入按钮也很容易。 可选的话,首先弹出开发工具栏,插入,下面是按钮复选框等控件。 点击设计模式后,可以和vb6中一样进行设计,然后点击按钮写代码即可。

这里作为比较一般的例子,用word统计字频。

要统计一个单词或一个单词在word中出现的次数,在网上搜索的方法一定会告诉你找到替代方法。 但是,如果必须统计每个字,这种做法就行不通了。 使用代码可以很容易地完成。

因为这里是演示,所以我直接用msgbox输出了结果。 如果选择一个单词并在vba窗口中运行,则代码效果会自动统计选择的这个副本、来自各个单词的频率。 为了演示,我直接弹出了消息框。 有诉求的东西可以另外追加,如扔excel排序等。

“巧用VBA黑科技,让办公效率提升百倍”

sub bdzjz_tongji ( )

dim I as集成器

DIM NAS整合器

n =选择. characters.count

光盘

set dict = createobject (“脚本.目录”)

for I = 1到n

dim S字符串

s =选择. characters.item ( I )

if dict.exists(s ) then

dict.item(s ) = dict.item(s ) + 1

else

光盘添加s,1

终点国际机场

下一个I

dim d _密钥

d _ keys =光碟. keys

dim d _项目

d _ items =光盘. items

dim sout as字符串

for I =0to ubound ( d键)

sout = sout &; d _关键点( I ) &地图; "出现次数: " &; d _项目( I )和地图; “回”&; 黑莓手机

下一个

美国职棒大联盟

最终辅

代码到了词典类的dictionary。 结构类似于散列表。 将单词本身作为键值key,记住单词出现的次数并重叠,代码帧代码一完成就漏掉了。

以前在鞋厂做开发,受到过运营的起诉。

他们自己做了ppt,展示了一点产品。 现在,在广播中,我想集中客户在特定页面停留的时间,以获得客户对产品的兴趣。 ppt可以设定播放时的各种延迟效果,但是好像没有统计功能。

因为找不到源文件,所以在这里大致写一下原型。

私有身份验证时间媒介" winmm.dll " ( )为长

光盘

sub onslideshowpagechange ( )

'记录当前页数

dim icut as集成器

icut =滑动显示windows (1) .视图.滑动.滑动索引

dim icut时间为长

计时时间=计时时间( )

'初始化词典

if is空值(磁盘)或( icut =1)三角网

set dict = createobject (“脚本.目录”)

终点国际机场

dict.item(icut ) = icut时间

if光盘( icut-1 )和(光盘项目( icut-1 ) >0)汗

msgbox "停留时间: " &; ( icut时间-光盘.项目( icut-1 ) ) &地图; 毫秒

终点国际机场

最终辅

vba附带的时间函数比较凹坑,只能正确到秒。 然后当天的秒,也就是晚上0点过后复位。 那个时候必须要评价是否超越了天堂。 所以在这里,我们使用系统api、timegettime,取得了从接通电源到现在的经过毫秒数。 然后,如果将ppt设置为手动播放,则程序会在每次切换幻灯片时自动记录时间,同时从上一张幻灯片中减去,以获取客户在上一张幻灯片中停留的时间。

“巧用VBA黑科技,让办公效率提升百倍”

因为是原型,所以这里很容易减去序列号的一张时间。 通常,人类的播放是一次点击一个滚轮或鼠标。 如果是跳跃播放的情况,例如从第一张直接跳到第三张等特殊情况,就需要变更代码。

如图所示,从第2张跳到第3张时,得到第2张幻灯片的停留时间为5124毫秒。

获取数据后如何使用,取决于具体诉求。

实际上,vba也可以直接连接数据库,但我觉得谁都不擅长看,所以就跳过了。

也许有人听说过宏,但宏和脚本的区别是什么?

一个宏可以通过一行或一个脚本实现。 事实上,微软提供的“记录宏”功能是将操作记录在代码中,并作为宏调用。

但相反,会代码的变多了,运用得好后,比宏强100倍。

在应用性方面,excel无疑是最常用的。 放入复印箱的下拉框等,也可以作为简单的程序使用。 以前做的是简单的出题解答系统,因为太多太杂应该没人看,所以就不提了。

word其次,由于排版问题,控件难以放置。 另外,由于不涉及很多运算,所以很多功能可以通过软件的本机来实现。

ppt最重要的是,可以在运行ppt时触发vba脚本,但不能调试。 在ppt前台播放,后台脚本和多线程异步,没有错误信息,断点也断不了。 而且ppt支持的也比较少。

除了微软独有的office之外,还像知名的autocad一样支持vba。

但是,由于是自己的,微软对vba开放了很多权限,vba、vbs病毒在历史上也有一定的地位。 如果大家在网上找代码的话,就必须更加小心。

可以考虑用vba实现明明平时经常使用,但用软件不能简单实现的功能。 涉及多人、多个部门的事业,如果能够达成一致并统一风格,一个脚本肯定能够涵盖几天的事业量。 以前在项目中从企划、设计、水平、脚本、资源、测试中制作过一致的vba,但由于涉及很深,在这里就不细说了。

“巧用VBA黑科技,让办公效率提升百倍”

当然,vba编程必须在vb语法上有基础。 另外,由于事项、属性因软件而异,因此调查资料是不可避免的。 并不像基础操作和函数那样所有人都能做。 但是如果顺利的话,那才能真正提高效率。

标题:“巧用VBA黑科技,让办公效率提升百倍”

地址:http://www.slqncy.com/szkj/30059.html