博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VBA---Basic
阅读量:4960 次
发布时间:2019-06-12

本文共 2187 字,大约阅读时间需要 7 分钟。

题记:

之前用VBA做过几个小工具,用来实现办公自动化的。在编写过程中也遇到了一些问题,但最终都通过网友们的分享予以解决,现对其中的一些知识点进行总结。

common sense

取消文件刷新Application.ScreenUpdating = False

活动工作表

'激活工作表1Sheets("Sheet1").Activate   Worksheets("Sheet1").ActivateSheets(1).Activate    Worksheets(1).Activate        '用序号表示工作表比较简洁,但不直观; Sheets比WorkSheets简洁;

自动调整行高与列宽

ActiveSheet.UsedRange.EntireRow.AutoFit            ‘自动调整行高ActiveSheet.UsedRange.EntireColumn.AutoFit            '自动调整列宽

程序分行书写

  1. 若是语句,在要换行的地方加 一个空格 与 一个下划。
  2. 若是字符串,加 一个空格一个"&"一个空格一个下划

变量定义

'定义字符串strFolder, 整形intRow及工作簿变量wbdim strFolder$, intRow%, wb as Workbook

控制流

与其它语言一样,VBA的控制流常用的也是 顺序、条件与循环三种。

‘循环: Do'当文件名为空时,才停止循环Do Until strFileName = ""    PassLoopDo while strFileName <> ""    PassLoop'For Each... In ...‘循环 活动工作表中的已用单元格For Each std In ActiveSheet.UsedRange

错误处理

'当出现错误时,自动跳到错误处理部分On Error GoTo ERROR0    passERROR0:    MsgBox("Something is wrong! ")

工作簿工作表的选取

'使用此工作簿工作表1的 A列 取消单元格合并ThisWorkbook.Sheets(1).Range("A:A").UnMerge

操作文件夹与文件

'弹出选择文件夹的对话框,将此文件夹的 路径赋予 变量strFolderFolderPath = GetPath()'Dir() 函数:用于获取 文件名; ’下例为获取FolderPath目录下的 xls文件名FileName = Dir(strFolder & "\*.xls")PassDir()            ’通过此函数,可以自动打开下一个Excel文件’.Open()函数:用于打开文件'下例为打开一个excel工作簿,并激活其中的一个工作表Set wb = Workbooks.Open(FolderPath & "\" & FileName) wb.Sheets(“Sheet1”).Activatepasswb.Close False            ‘不保存修改然后关闭

获取工作表中 某列 已用的行数

此处可以用到 End(xlDown) 或 End(xlUp),此函数的功能与Excel中的快捷键Ctrl + 方向下键Ctrl + 方向上键相同,

可以定位到该列的最后一个已用 元素。

 

复制单元格的内容到另一Excel

情景1:将活动工作表的一个单元格的值 复制到 另一Excel的一个Range

ActiveSheets.Range("F4").Copy ThisWorkbook.Sheets(1).Range("F" & startRow & ":F" & endRow)

情景2:与楼上相反,将活动工作表中的一个Range区域,复制到另一个Excel的一个区域(选定的是个单元格,会自动变为区域)

ActiveSheets.Range("F" & startRow & ":F" & endRow.Copy ThisWorkbook.Sheets(1).Cells(startRow, "F")

获取某个单元格的值

获取某个单元格的值有多种方法,常用的是用 Cells() 与 Range()。

Range()

'获取某个单元格WorkSheets(1).Range("F4")            '单元格F4(第4行,第F列)中的值'获取某个区域的单元格WorkSheets(1).Range("A1:H8")            '区域的值

Split()处理字符串

Split()函数可以用来处理字符串,它的作用是将字符串按特定的字符分隔,返回一个一维数组。

s = "abc, d, e, f ,g"arr = Split(s, ",")            '结果是一个包含5个项的一维数组m = Split(s, ",") (0)        'm为abcbrr = Split(s, ",",2)         '将s以逗号分为两项,brr(0) = abc, brr(1) = "d,e,f,g"

转载于:https://www.cnblogs.com/qev211/p/7535023.html

你可能感兴趣的文章
[转]如何降低二手烟的危害
查看>>
小白学数据分析----->如何设计和分析数据指标
查看>>
ajax的实现
查看>>
python数据持久存储:pickle模块的基本使用
查看>>
注意区别二位数组和二维指针
查看>>
android ant批量打包
查看>>
我的第一个jQuery扩展(slider)
查看>>
WPF模拟雷达界面效果图
查看>>
DirectX11--HR宏关于dxerr库的替代方案
查看>>
添加cordova-plugin-file-opener2后,打包出错
查看>>
wpf SnapsToDevicePixels
查看>>
JavaScript 数值Number类型详解
查看>>
WPF的5种绑定模式(mode)
查看>>
电子商务(电销)平台中用户模块(User)数据库设计明细
查看>>
用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]
查看>>
IIS 7.5 使用URL Rewrite模块简单设置网页跳转
查看>>
C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能
查看>>
ASP.NET MVC 音乐商店 - 7.成员管理和授权
查看>>
与众不同 windows phone (26) - Contacts and Calendar(联系人和日历)
查看>>
php+sqlite cms
查看>>