vba excel 一些接口的使用记录
将Application赋值给Object或者Variant,使Application.Run可以通过引用传递数组
以下测试代码会弹出4
Option Explicit Sub fa(vs As Variant) vs(0) = 4 End Sub Sub text() Dim myapp As Object Set myapp = Application Dim vs(0 To 10) As Long vs(0) = 2 Call myapp.Run("fa", vs) MsgBox vs(0) End Sub
获取窗口的标题
ActiveWindow.Caption
获取工作簿的文件夹路径和完整路径
Application.ActiveWorkbook.path
Application.ActiveWorkbook.FullName
判断单元格是否为空
IsEmpty(ActiveSheet.range("E2"))
如何使用否定条件进行筛选
Field参数为列的索引
Criteria1参数是条件,比如只筛选出值为"一月"的行,Criteria1参数就可以是字符串"一月",假如传递字符串"<>一月",那么就会把所有不是"一月"的筛选出来
ActiveSheet.UsedRange.AutoFilter Field:=columnIndex, Criteria1:="<>" & key
如何只选中筛选出的行
该代码会选中2至100行中所有可见的行然后删除
ActiveSheet.Cells.Rows("2:100").SpecialCells(xlCellTypeVisible).Delete
取消VBA执行时的UI更新
Application.ScreenUpdating = False
如何得到筛选出的行数
第一个参数是一个固定值3,后面的参数可以是多个Range
Dim count As Long count = Application.WorksheetFunction.Subtotal(3, range("A2:A" & Rows.count))
设置超链接
Sub 超链接test() Dim v As range Set v = range("A2") v.Value2 = "超链接显示的内容" ActiveSheet.Hyperlinks.Add v, address:="https://cn.bing.com" End Sub
获取超链接
Sub 获取超链接test() Dim v As range Set v = range("A2") MsgBox v.Hyperlinks(1).address End Sub
浙公网安备 33010602011771号