zoukankan      html  css  js  c++  java
  • VBA事件与典型应用案例

    with语句的使用

    Sub test()
    Sheet2.Range("a1") = 6
    Sheet2.Range("a2") = 16
    Sheet2.Range("a3") = 26
    '等效
    With Sheets
        .Range("a1") = 6
        .Range("a2") = 16
        .Range("a3") = 26
    End With
    End Sub

    设置单元格格式

    Sub test() 
    Range("a1").Font.Size = 18 #字体大小为18号
    End Sub

    改单元格背景色

    Sub gys()
    Cells.Interior.Pattern = xlNone  #先清空所有单元格颜色
    Selection.EntireRow.Interior.Color = 65535
    End Sub

    什么是事件?发生了什么事 自动的去执行这个事 自动运行宏

    事件是在每个表里的worksheet :三个常用事件介绍

      1)事件selectionchange

       2)事件change

     代码解释

    Private Sub Worksheet_Change(ByVal Target As Range)
    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

       3)事件activate     

      自动刷新举例说明

      代码  

    Private Sub Worksheet_Activate()
    ActiveWorkbook.RefreshAll
    End Sub

      workbook 中的事件   beforesave

      自动备份重要文件

      excel中=now()”得到当前时间 然后用 “text("","yyyymmddhhmmss")”更改格式

      在vba中是

    Sub ss()
    Range("a1") = Format(Now(), "yyyymmddhh")
    End Sub

       当前工作簿 可以是 activeworkbook 也可以是 thisworkbok。用下面的方法去保存备份有个问题 就是 执行后 当前的文件编程了1.xlsx 不是你要操作的文件了

     但是用thisworkbook.savecopyas “d:data1.xlsx” 就能避免这样的问题 保存后 还是要操作的文件

    Sub ss()
    ThisWorkbook.SaveAs "d:data1.xlsx"    
    End Sub

      数据备份

     

     

     

     

  • 相关阅读:
    【SQL Server数据迁移】32位的机器:SQL Server中查询ORACLE的数据
    ORACLE存储过程,循环语法和游标
    Oracle变量的定义、赋值及使用
    Oracle数据库常用语法
    Windows下将JAVA jar注册成windows服务
    Java压缩图片
    如何去除图片背景?这款一键抠图软件帮你
    远程办公,这 13 个工具比微信、QQ更好用
    java程序在windows后台执行的办法
    Usage of API documented as @since 1.6+……的解决办法
  • 原文地址:https://www.cnblogs.com/xiao-xuan-feng/p/12633657.html
Copyright © 2011-2022 走看看