VBA 笔记记录(持续更新)

Excel

Application方法与属性
Set Wb = Application              ' 当前的Excel对象

Set SheetObj = Wb.Sheets          ' 不指定Sheet,则SheetObj为所有的sheet对象

Set SheetObj = Wb.Sheets(SheetName)        ' 当前Excel中指定的工作表,可以传索引

SheetObj.Range(location).Value        ' 获取范围内单元格内容,location="A1:F10" 返回数组  location="A1" 字符串

SheetObj.Range(location).Select        ' 选中范围内的单元格

SheetObject.Cells(Row, Col).Value2   ' 获取单个单元格内容

SheetObj.UsedRange.Rows.Count        ' 最大行数

SheetObj.UsedRange.Columns.Count        ' 最大列数

SheetObj.Rows("1:10").Copy SheetObj.Rows(12)        ' 复制1~12行数据到第12行的位置

SheetObj.Range("A7:B9").Height                        ' 获取指定区域的高度

SheetObj.Range("A7:B9").Width                        ' 获取指定区域的宽度

SheetObj.Name        ' Sheet名称

' 朝A1位置写入大量的数据,DataArray为二维数组,Resize()指定二维数组的大小。(此方法效率远高于单个单元格写入)
SheetObj.Range("A1").Resize(RowNum, ColNum).Value = DataArray

Wb.Close Savechanges:=False            ' 关闭Excel  False:不保存   True:保存

' 打印当前Sheet,Copies:打印数量   Collate:对打印的文件进行排序   ActivePrinter:指定打印机的名称
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, ActivePrinter:=PrinterName

Application.DisplayAlerts = False  '关闭特定的警告和消息窗口  False:禁止提示    True:允许提示

Application.AskToUpdateLinks = False    '屏蔽Excel提示应用链接更新   False:关闭提示更新    True:正常模式

Application.Calculation = xlCalculationManual    '自动计算,参数 xlCalculationAutomatic:自动计算   xlCalculationManual:关闭自动计算

Application.ScreenUpdating = False    '屏幕刷新  False: 关闭刷新    True:开启刷新

Application.DisplayFullScreen = True    '设置Excel窗口为全屏模式   True:全屏  False:默认大小
其他操作Excel的方法
Set Wb = GetObject(ExcelPath)        ' 打开Excel(出现过GetObject处理Excel后,无法正常打开)

Set Wb = Workbooks.Open(ExcelPath)    ' 打开Excel

VBA函数与变量

函数      
Left(Str, 2)        ' 从左往右取2个字符

Right(Str, 2)       ' 从右往左取2个字符

Mid(Str,1, 2)       ' 从左往右第1个字符,往后取2个字符串(包括第1位字符串)

Len(Str)            ' 获取字符串大小

Ubound(Array)       ' 获取一维数组最大下标

Lbound(Array)       ' 获取一维数组最小下标 (因为下标可能是从0开始,也有可能是1或其他)

Trim(Str)           ' 清除字符串两端空格

Replace(Str, "*", "-")    ' 将目标字符串中的符号*,替换成符号-

Split(Str, "*")     ' 对目标字符串中的符号*,进行分割。返回变量为一维数组

Chr(32)             ' 将数字转换为ASCII码表中的内容

ChrW(10025)         ' 将数字转换为指定的符号(键盘无法打出来的符号)参考:https://www.grogllc.com/unicodetable.html#

Array(1)            ' 获取一维数组中第1个下标的Value

Array(1,1)          ' 获取二维数组中第1行,第1个下标的value

Round(Double, 2)    ' 保留两位小数

InStr(Str, "1")     ' 查找目标字符串中是否存在1,不存在则返回0,存在则返回目标字符的下标

变量
' 创建字典类型变量
Dim Dict as Object
Set Dict= CreateObject("Scripting.Dictionary")

' 向字典添加key和与之对应的Value
Dict.Add "Key", "Value"

' 从字典取值
Dict("key")

控件

控件属性
UserForm1        ' 主窗体默认名称

UserForm1.Show   ' 显示主窗体

控件.Enabled = True    '设置控件   True:可以使用   False: 禁止使用

控件.Visible= True    '设置控件   True:显示   False: 隐藏

TextBox.Text = ""    ' TextBox控件写入文本

ListBox.AddItem("")    ' ListBox控件添加项目

ListBox.RemoveItem(1)    ' 以索引删除项目

ListBox.ListIndex        ' 获取当前选中的项目索引

ListBox.List             ' 获取ListBox控件内容,返回数组

CommandButton.Caption = ""    ' 设置控件名称


控件事件
' CheckBox控件,选中后触发
Private Sub CheckBox_Change()
End Sub

' CommandButton按钮,点击后触发
Private Sub CommandButton_Click()
End Sub

' TextBox控件,输入文本后触发
Private Sub TextBox_Change()
End Sub

' 窗体关闭事件
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
End Sub

' Excel关闭事件
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub

' 当前Sheet打开后触发该事件
Private Sub Worksheet_Activate()
End Sub

' 窗体打开后触发事件
Private Sub UserForm_Activate()
End Sub
配合控件使用的常用函数
' 选择文件夹
Public Function SelectFolder()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False   '单选择
        .Title = "请选择文件夹"
        .InitialFileName = "C:\"
        If .Show = -1 Then    'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
            SelectFolder = .SelectedItems(1)
        End If
    End With
End Function

' 选择文件
Public Function SelectFile(Hint, FileType)
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False   '单选择
        .Filters.Clear   '清除文件过滤器
        .Filters.Add Hint, FileType
        .Filters.Add "All Files", "*.*"          '设置两个文件过滤器
        If .Show = -1 Then    'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
            SelectFile = .SelectedItems(1)
        End If
    End With
End Function

如存在不正确的地方,请指正。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值