美文网首页
VBA事件与典型应用

VBA事件与典型应用

作者: A_rrow | 来源:发表于2019-07-18 23:16 被阅读0次

    关于单元格格式中的with语句

    sheet1.range("a1") = 1
    sheet1.range("a2") = 2
    sheet1.range("a3") = 3
    
    以上可利用with写成
    
    with sheet1
      .range("a1") = 1
      .range("a2") = 2
      .range("a3") = 3
    

    事件 - 发生了什么事就执行什么动作

    针对工作表的常用事件


    selectionchange -- 选区发生改变时触发
    应用:高亮显示当前单元格整行数据

    Sub 高亮显示()
    Cells.Interior.Pattern = xlNone
    Selection.EntireRow.Interior.Color = 65535
    End Sub
    

    change -- 发生了任何动作时都会被触发
    使用change动作时要注意逻辑关系,最好先关闭再打开
    关闭 / 打开事件
    EnableEvents = True / False
    应用:输入条件后自动完成筛选

    Sub shaixuan()
    Application.EnableEvents = False
    Range("l1:q10000").ClearContents
    Range("A1:F232").AutoFilter Field:=4, Criteria1:=Range("i2")
    Range("A1:F232").Copy Range("l1")
    Range("A1:F232").AutoFilter
    Application.EnableEvents = True
    End Sub
    

    Activate -- 激活后触发
    针对透视表的情况,更改后需要右键刷新
    在这激活的意思是在数据源表修改完数据,点击到表二透视表时就算激活,所以这段代码要放在表二。
    应用:透视表自动更新

    ActiveWorkbook.RefreshAll
    

    针对工作簿的常用事件

    启用了该事件保存的文件格式为xlsm

    open
    可用于提示,如一打开工作簿时弹出对话框


    beforesave -- 有保存动作时就备份

    ThisWorkbook.SaveCopyAs "d:\data\" & Format(Now(), "yyyymmddhhmmss") & ".xls"
    路径 -- 此处保存的名字为操作工作表时保存的时间
    

    相关文章

      网友评论

          本文标题:VBA事件与典型应用

          本文链接:https://www.haomeiwen.com/subject/jyirlctx.html