首页 威武短视频文章正文

vba教程pdf :如何快速学习Excel VBA?

威武短视频 2022年06月12日 06:18 219 威武短视频

从我个人学习VBA的经验来看,学习VBA,首先就要学会使用录制宏这个功能,这个可以解决工作中大部分问题。

其次,找一本VBA的书,从基本语法,数字类型,基本语句(循环,数组,字典,正则,事件)慢慢积累。

vba教程pdf
:如何快速学习Excel VBA?

最重要的要有对象思维,VBA有EXCEL对象,Range对象,Sheet对象等等。

学会积累和修改代码,遇到比较好的代码可以收藏起来。

比如:

打开指文件夹下的文件:

Sub FindFile()

Dim path, name, fileName As String

name = "CSV" '要查找的文件夹

path = ThisWorkbook.path & "\" & name & "\" '拼接文件夹下的路径

fileName = Dir(path & "*.csv") '查找文件夹下是csv后缀的文件

Do While fileName <> "" '停止条件是文件夹下没有了文件

Workbooks.Open (path & fileName) '打开文件

fileName = Dir '找到下一下文件

Loop

End Sub

查找单元格内容:

sum test()

Dim rs As Range

With Range("A1:C30") '查找的区域

Set rs = .Find(2) '查找单元内容是2的,返回单元格对象

If Not rs Is Nothing Then '如果查找到单元格内容是2的就遍历

Do

rs.Value = "修改了"

'rs.Interior.ColorIndex = 3 '单元格背景色

rs.Interior.Color = RGB(255, 220, 210)

Set rs = .FindNext(rs) '找到下一个单元格

Loop While Not rs Is Nothing

End If

End With

End sub

高级筛选:根据条件区域来筛选并复制:

Sheets("DATA").Columns("A:D").AdvancedFilter Action:=xlFilterCopy, _

CriteriaRange:=Range("B1:C2"), CopyToRange:=Range("A4"), Unique:=False

隐藏偶数行:

ActiveSheet.UsedRange.Rows.Count //最后下到上第一个非空行

For i = ActiveSheet.UsedRange.Rows.Count To 2 Step -1

If i Mod 2 = 0 Then Rows(i).Hidden = True

Next i

这样,把常用的的VBA代码保存下来,把每条语句加上注释,多多使用。

好多代码都是可以套用的,不用背代码。只要多搜集整理,用的时候能找到就行。

发表评论

备案号:陕ICP备2022006270号-2 网站地图强力收录 威武短视频