首页 最新文章网站编程正文

VBA编程常见场景的十一种常用方法

imitker 编程 1074 16

模块化编程的意义在于可以批量生产,插拔式开发,往往可以事半功倍,这需要不断总结梳理模块库,细分场景,涵盖的面越广,越能够提高开发效率,且使代码的标准化程度更高,可移植性更强,从而使产品更健壮。

笔者总结的这一系列常见方法可以极大的丰富插件库,拓宽思路,只需体会并领会其中的要义,就可以很方便灵活的实现现实中的大部分场景,甚至做到很少的几行代码就可以实现很复杂的功能……

这里有些方法是具体的示例,需要在实际需要中活学活用,切忌生搬硬套。

01

清空工作表里的VBA代码

适用场景:在对工作簿或工作表进行操作权限控制的时候可用于解锁工作簿或工作表。


With ThisWorkbook.VBProject.VBComponents.Item("ThisWorkbook").CodeModule
    .DeleteLines 1, .CountOfLines
End With

02 

弹出提示窗体

适用场景:操作过程中为了降低误操作的可能以及提示性作用,可增加提示性窗体。

If MsgBox("确定要在当前的工作表生成单元格吗?" & Chr(10) & Chr(10) & "无关内容将被清空,请谨慎操作!", vbOKOnly, "提示") = vbOK T
'
endif

03 

设置行(列)宽

适用场景:在需要固定列宽或行宽时使用。

Columns("A:" & ConvertToLetter).Select
    Selection.ColumnWidth = Hwigth
    Rows("1:" & Lnumber).Select
    Selection.RowHeight = Lwigth

04 

清除指定范围的颜色

适用场景:背景色初始化。

Range(Cells(3, 2), Cells(ActiveSheet.UsedRange.Rows.Count, Range("b1").End(xlToRight).Column)).Interior.Pattern = xlPatternNone

05 

Listbox中的值是否被选中

适用场景:判断list项是否被选中以进行后续处理

For i = 0 To ListBox1.ListCount - 1
    ListBox1.Selected(i) = True
Next i

06 

自右向左匹配字符串

适用场景:当需要匹配的内容大部分在目标字符串的右侧时,可以提高效率。

InStrRev(ws.Cells(k, 3).Value, Trim(newName)) > 0

07 

从字符串中提取整数

适用场景:当需要在字符串中把整数值给提取出来的时候,可通过正则匹配。

  Set regx = CreateObject("VBScript.RegExp")
    With regx
        .Global = True
        .Pattern = "\D" '数字
        myNumber = .Replace(rg, "")
    End With

08 

取奇(偶)数行的数值

适用场景:z在处理数据的时候,对于有一定规律的奇数偶数行数据,需要分别提取出来的时候

=INDEX($A$1:$A$12,2*ROW()-1)
=INDEX($A$1:$A$12,2*ROW())

09 

取满足某条件的最大(小)值

适用场景:多用于考勤的场景,比如从打卡记录里提取最早打卡时间或最晚打卡时间。

=MAX(IF(D2=$A$2:$A$27,$B$2:$B$27))
=MIN(IF(D2=$A$2:$A$27,$B$2:$B$27))
按下CTRL+SHIFT+ENTER

10 

判断文件是否存在

适用场景:在处理文本文件或者文本数据库文件的时候,基于容错的需要,应该先确认目标文件是否存在。

If Dir(myFile, 16) = Empty Then 
    MsgBox ("文件不存在!")
    Exit Function
End If

11 

读取文件库内容

适用场景:需要将本地文件数据库内容读取到vba控件中。

Open "C:\Users\Public\test.txt" For Append As #1
Print #1, InkEdit1.Text
Close #1
©️公众号:思考者文刀

评论

精彩评论
  • 2024-07-11 07:53:52

    太高深了,理解力不够用了!http://3o87sf.xzsjesc.cn

  • 2024-07-11 04:32:21

    今天过得很不爽!http://x0rq.zhujibus.com

  • 2024-07-11 04:02:32

    禽兽不如应该不是说楼主的的吧?http://56s.zhujibus.com

  • 2024-07-10 23:45:45

    关注一下!http://3hle.zhujibus.com

  • 2024-07-10 15:10:10

    楼主是好人!http://cabps.juyuangroup.com

  • 2024-07-10 14:30:02

    世界末日我都挺过去了,看到楼主我才知道为什么上帝留我到现在!http://g8n.juyuangroup.com

  • 2024-07-10 04:09:56

    求加金币!http://r4cup.dietasaprovadas.com/07/4.html

  • 2024-07-09 22:09:12

    东方不败外加灭绝师太啊!http://www.qsiruq.com

  • 2024-07-09 21:27:31

    楼主你想太多了!http://wi0.yonghengtang.cn

  • 2024-07-09 04:30:24

    我对楼主的敬仰犹如滔滔江水绵延不绝!http://0594h0.yonghengtang.cn

  • 2024-07-09 02:58:52

    小弟默默的路过贵宝地~~~http://www.tjjixi.com

  • 2024-07-08 22:37:05

    这里的资源非常丰富,帮助我解决了很多问题。http://wap.jsailitejz.com

  • 2024-07-08 18:30:42

    鸟大了,什么林子都敢进啊!http://www.baishanct.com

  • 2024-07-08 13:56:45

    这位作者的文笔极其出色,用词精准、贴切,能够形象地传达出他的思想和情感。http://wap.snjunying.com

  • 2024-07-07 21:00:18

    很经典,收藏了!http://m.hgqcsy.cn

  • 2024-07-07 18:38:22

    楼主很有艺术范!http://wap.hnymjtl.com

百度搜索

站点信息

  • 文章总数:436
  • 页面总数:9
  • 分类总数:30
  • 标签总数:924
  • 评论总数:501
  • 浏览总数:1783899
觉得有用就打赏吧
关注本站公众号,享受更多服务!
联系方式
合作微信:itker0110
新媒体:Excel加油站(抖音/小红书/哔哩/头条)
公众号:左手Excel右手VBA
知乎:Excel其实很简单
Copyright2015-2024.Powered by ©️云水客 | 网站地图 | 辽ICP备14000512号-5
您是本站第1889名访客 今日有0篇新文章