logo
  • 教程列表
  • SO官方文档
  • excel-vba 教程
    • VBA 最佳实践
      • 总是使用显式选项
      • 使用不带范围的数组
      • 在宏执行期间关闭属性
      • 在可用时使用 VB 常量
      • 避免使用 SELECT 或 ACTIVATE
      • 始终定义和设置对所有工作簿和表格的引用
      • 使用描述性变量命名
      • 记录你的工作
      • 错误处理
      • 永远不要假设工作表
      • 避免在 Excel 中使用 ActiveCell 或 ActiveSheet
      • WorksheetFunction 对象的执行速度比 UDF 等效对象快
      • 避免将属性或方法的名称重新用作变量
    • 开始使用 excel-vba
      • 打开 Visual Basic 编辑器(VBE)
      • 声明变量
      • 添加新的对象库参考
      • Hello World
      • Excel 对象模型入门
    • 查找工作表中上次使用的行或列的方法
      • 找到列中的最后一个非空单元格
      • 在工作表中查找最后一个非空行
      • 在工作表中查找最后一个非空列
      • 找到一行中的最后一个非空单元格
      • 使用命名范围查找最后一行
      • 获取范围中最后一个单元格的行
      • Range.CurrentRegion 中的最后一个单元格
      • 在工作表中查找最后一个非空单元格 - 性能(数组)
    • Excel VBA 提示和技巧
      • 使用 xlVeryHidden 表格
      • 使用带分隔符的字符串代替动态数组
      • 工作表 .Name .Index 或 .CodeName
      • 双击 Excel 形状的事件
      • 打开文件对话框 - 多个文件
    • 常见错误
      • 资格参考
      • 删除循环中的行或列
      • ActiveWorkbook 与 ThisWorkbook
      • 单文档界面与多文档界面
    • 范围和单元格
      • 引用单个单元格的方法
      • 创建范围
      • 抵消属性
      • 保存对变量中单元格的引用
      • 如何移调范围(水平到垂直反之亦然)
    • 调试和故障排除
      • 即时窗口
      • Debug.Print
      • 使用 Timer 查找性能瓶颈
      • 调试器本地窗口
      • 停止
      • 在代码中添加断点
    • 数组
      • 填充数组(添加值)
      • 动态数组(数组大小调整和动态处理)
      • 锯齿状阵列(阵列阵列)
      • 检查 Array 是否已初始化(如果它包含元素)
      • 动态数组数组声明调整大小
    • 遍历活动工作簿中的所有表单
      • 检索活动工作簿中的所有工作表名称
      • 循环遍历文件夹中所有文件中的所有表格
    • 用户定义函数(UDF)
      • 允许完整列引用而不会受到惩罚
      • UDF - Hello World
      • 计算范围中的唯一值
    • 数据透视表
      • 将字段添加到数据透视表
      • 创建数据透视表
      • 数据透视表范围
      • 格式化数据透视表数据
    • 使用 VBA 进行条件格式化
      • FormatConditions.Add
      • 删除条件格式
      • FormatConditions.AddUniqueValues
      • FormatConditions.AddTop10
      • FormatConditions.AddAboveAverage
      • FormatConditions.AddIconSetCondition
    • Excel-VBA 优化
      • 禁用工作表更新
      • 通过扩展调试优化错误搜索
      • 检查执行时间
      • 使用 With 块
      • 行删除 - 性能
      • 禁用所有 Excel 功能在执行大型宏之前
    • 通过 VBA 进行 PowerPoint 集成
      • 基础知识从 VBA 启动 PowerPoint
    • 自动过滤器; 使用和最佳实践
      • 智能过滤
    • 绑定
      • 早期结合与晚期结合
    • Excel VBA 中的 SQL - 最佳实践
      • 如何在 VBA 中使用 ADODB.Connection
    • 工作簿
      • 何时使用 ActiveWorkbook 和 ThisWorkbook
      • 更改新工作簿中的默认工作表数
      • 应用工作簿
      • 打开 A(新)工作簿,即使它已经打开
      • 在不向用户询问的情况下保存工作簿
    • 图表和图表
      • 创建带有范围和固定名称的图表
      • 创建一个空图表
      • 通过修改 SERIES 公式创建图表
      • 将图表排列成网格
    • 使用组合框在 Active Worksheet 中创建下拉菜单
      • 示例 2 不包括选项
      • 吉米亨德里克斯菜单
    • 在 VBA 中使用 Excel 表
      • 实例化 ListObject
      • 使用 ListRows ListColumns
      • 将 Excel 表格转换为正常范围
    • 文件系统对象
      • 文件夹驱动器存在
      • 基本文件操作
      • 基本文件夹操作
      • 其他业务
    • 在一个范围内查找重复值
      • 查找范围内的重复项
    • 命名范围
      • 定义命名范围
      • 在 VBA 中使用命名范围
      • 使用名称管理器管理命名范围
      • 命名范围数组
    • 如何录制宏
      • 如何录制宏
    • VBA 安全
      • 密码保护你的 VBA
    • 应用对象
      • 简单应用程序对象示例最小化 Excel 窗口
      • 简单应用程序对象示例显示 Excel 和 VBE 版本
    • 合并单元格范围
      • 在使用 Merged CellsRanges 之前请三思而后行
    • 条件陈述
      • If 语句
    • 使用 Worksheet 对象而不是 Sheet 对象
      • 打印第一个对象的名称
    • CustomDocumentProperties 在实践中
      • 组织新的发票号码
  1. StackOverflow 文档
  2. excel-vba 教程
  3. VBA 最佳实践

VBA 最佳实践

Created: November-22, 2018

我们都知道它们,但对于那些开始在 VBA 中编程的人来说,这些做法并不那么明显。

  • 总是使用显式选项

Copyright © 2018. All right reserved

tastones.com 备案号:鲁ICP备18045372号-1

  • 关于我们
  • 免责声明