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

 

posted @ 2022-01-02 11:42  FfD4edyo  阅读(259)  评论(0)    收藏  举报