VBA开发经验总结之一:利用Range对象设计用户界面

news/2024/9/6 6:08:15 标签: ui

读罢《EXCEL专业开发》,最大的震撼就是著者对VBA技术的追求以及对Excel艺术品般的设计。受到此书著者的启发,也打算把自己在日常开发中一些经验总结出来,一来作为自己的知识储备,二来也能在网络上分享。

Excel公式、函数以及自身单元格的格式化为UI的设计提供了极大的便利性,这方面的内容在《Excel专业开发》中有详述,就不必赘述了。在该书中,也对预定义名称做了论述。其中提到,预定义名称是工作表用户接口设计中的一个重要组成部分,包括预定义的命名常量、命名区域和命名公式。该篇文章将专注于命名区域在UI设计中的作用做一个总结。

1、按照具体数据要求可将不同区域分别进行命名,保证每部分信息的独立性,方便数据验证或区域验证等要求,如可将在销售分析中的客户信息与销量信息分别命名,分别分析两个部分的数据或信息。

采用这种方式后,判断是否选中了相关命名区域可采用与区域相关的一些函数:

Application.Intersect
   Application.Union

2、可在已命名的区域内将每列项采用枚举类型设立索引,以便UI变更时统一修改。

3、灵活使用相对引用于绝对引用。

4、使用工作表的Protect方法将UI保护起来,防止用户操作不慎输入坏的数据,破坏一致性。

5、将标题行、数据行设为Public的常数变量以便使用。

6、将使用行数变为工作表的属性,便于调用。

PS几条VBA的特殊TIPS:

1、VBA的IF不支持条件短路;

2、使用不同进程的EXCEL打开文件。

With Application
   .DisplayAlerts = False
   .IgnoreRemoteRequests = True
   .DisplayAlerts = True
  End With

转载于:https://www.cnblogs.com/warriorblue/p/4062944.html


http://www.niftyadmin.cn/n/1859703.html

相关文章

dom三个事件

1,页面加载后 window.οnlοadfunction(){}; 2,页面(关闭)卸载后触发 window.οnunlοadfunction(){}; 3,页面关闭前触发 window.οnbefοreunlοadfunction(){}; 例子:页面刷新 <input type"button" name"name" value"刷新" id"btn&…

thinkphp结合bootstrap打造个性化分页

分页功能是web开发中常见的一项功能&#xff0c;也存在很多形式&#xff0c;这里主要讲一下利用thinkPHP框架的page类来打造一款bootstrap风格的分页过程。 首先需要去thinkPHP官网现在其分页扩展类http://www.thinkphp.cn/extend/241.html&#xff0c;下载完成后&#xff0c;需…

安装wdCP,无法连接mysql,解决方法

安装wdCP&#xff0c;无法连接mysql&#xff0c;解决方法 在ubuntu 12.04版本上安装wdCP&#xff0c;采用编译安装的方式&#xff0c;一路装下来最后悲催地报错了&#xff1a; ERROR 2002 (HY000): Cant connect to local MySQL server through socket /tmp/mysql.sock (2) 无法…

air exe 版本 自动更新 笔记

最近发现 air的 自动更新功能 不适用于 打包成 exe的 , 不打包成exe 执行某些命令行有会失败 so .....发现了这个, 改天 有空 把例子扔上来 https://code.google.com/p/nativeapplicationupdater/转载于:https://www.cnblogs.com/tary-hit/p/4086694.html

WPF仿Win7便笺

最近用WPF写了个仿WIN7下面的便笺小工具&#xff0c;还算是比较华丽的&#xff0c;相似度99%以上吧&#xff0c;在集成了便笺原有的功能以外&#xff0c;当然也做了略微的修改&#xff0c;比如加了关于作者版本信息和修改了原有删除便笺的系统弹出框。软件开机自启功能没做&…

快速设置环境变量

:: setpath.bat文件内容 set testvalue cmd 运行setpath就可以用test的环境变量了&#xff0c;是为了不显示命令 echo %test% value 转载于:https://www.cnblogs.com/arliang/p/4093229.html

paramiko 模块 ---- python2.7

模拟远程执行命令&#xff1a; ?123456789101112131415161718192021import paramiko#设置日志记录paramiko.util.log_to_file(/tmp/test)#建立连接sshparamiko.SSHClient()#缺失host_knows时的处理方法ssh.load_system_host_keys()ssh.set_missing_host_key_policy(paramiko.…

OBJECTPROPERTY用法整理

OBJECTPROPERTY用法整理 分类&#xff1a; 系统表与表结构 数据库管理维护2010-06-03 16:37 2783人阅读 评论(1) 收藏 举报数据库sql serverinsertobjectdeletenull目录(?)[] 语法 OBJECTPROPERTY ( id , property ) 参数 id是表示当前数据库中对象 ID 的表达式。id 的数据类…