EXCEL中VBA中的变量:成功的三个关键-记住吧
时间:2023-02-20 10:02:30
最近在Excel论坛中的帖子中包含一些VBA代码,并询问为什么代码不断失败。前几行代码如下所示:Dim CountDim ListDim Address我没有研究他的代码,因为他声明变量的方式使他的代码难以理解。实际上,他的问题可能是由他处理变量的方式引起的。那么,让我们看看他应该怎么做…明确使用选项默认情况下,Excel不会强制您声明变量。但是,您应该立即更改该设置。在任何版本的Excel中,按Alt + F11启动Visual Basic编辑器(VBE)。选择工具,选项。在“选项”对话框的“编辑器”选项卡中,确保“要求变量声明”前面有一个复选标记。选择确定后,插入一个新的模块。这样做时,您将看到Option Explicit作为模块的第一行。此行告诉Excel必须声明所有变量。指定变量类型要声明变量,请输入Dim,变量名称和变量类型……有点像……子Foo()昏暗计数为整数昏暗列表作为范围昏暗的地址作为字符串结束子…或这个…子Foo()昏暗计数为整数,列表为范围,地址为字符串结束子如果不指定变量类型,如本文顶部的第一个示例所示,则VBA会将变量声明为Variant类型。Variant可以接受任何类型的变量。在极少数情况下,您有充分的理由使用Variant。但是大约95%的时间,您应该使用显式变量类型。这样做的原因之一是您的代码将运行得更快。但是主要的原因是,至少出于两个原因,您将减少编码错误。减少编码错误的第一个原因是Excel会强制执行您指定的变量类型。为了说明,如果您运行此宏…子Foo()昏暗计数为整数,列表为范围,地址为字符串Count =“ Smith”结束子…Excel启动错误对话框,因为Integer数据类型不能包含文本。(但是,Excel 会接受类似……的声明Address=99…因为“ 99”可以表示为文本。)明确声明变量类型始终是一个好主意的第二个原因是,它有助于在编写代码时记录您的意图。如果经过数周后再看代码,此文档至关重要。知道变量是要包含数字还是文本,可以使您更轻松地阅读旧代码,查找错误并继续编码。因此,当您确实需要将变量声明为Variant时,请像下面这样显式地进行操作:Dim MyVariable as Variant通过始终明确声明变量,您将始终知道您打算使用变量,而不是出于疏忽的目的。使用匈牙利表示法查尔斯·西蒙尼(Charles Simonyi)是1970年代Xerox PARC的匈牙利语程序员,后来成为Microsoft的首席架构师。他提出,变量名使用前缀来告诉变量。根据Wikipedia的介绍,匈牙利记法有两种版本。最容易使用且我认为最有用的版本是使用前缀指定变量的数据类型。例如,在这里,我使用“ n”指定一个整数,使用“ rng”指定一个范围,使用“ s”指定一个字符串。昏暗nCount为整数昏暗列表作为范围昏暗的地址作为字符串许多程序员将“ int”或“ i”用于整数,将“ str”用于字符串。没关系。只要您的符号一致且易于他人理解,则使用什么符号都没关系。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
wps ppt怎么转pdf
XP下不能更改系统时间提示没有适当的特权级
![](https://img.aspxhome.com/file/2023/29/a255841_0s.jpg)
Win11卸载程序在哪里卸载?Win11系统如何强制卸载软件?
![](https://img.aspxhome.com/file/2023/27/a237529_0s.jpg)
appdata文件夹在哪里?怎么找到appdata文件夹?
![](https://img.aspxhome.com/file/2023/1/a273622_0s.png)
Win11想改Win10系统?Win11系统改Win10系统教程
![](https://img.aspxhome.com/file/2023/1/a281244_0s.png)
WinXP HTTP500内部服务器错误怎么解决
![](https://img.aspxhome.com/file/2023/3/a300698_0s.jpg)
excel 网格线颜色的设置方法
![](https://img.aspxhome.com/file/2023/3/a162533_0s.gif)
每次开机电脑时间不同步怎么解决?
![](https://img.aspxhome.com/file/2023/30/a264487_0s.jpg)
word 悬挂缩进的两种设置方法,通过标尺和段落面板设置悬挂缩进值
![](https://img.aspxhome.com/file/2023/5/32745_0s.gif)
利用Excel统计人数的方法步骤详解
win11 u盘无法弹出怎么办?win11 u盘老是被占用不能退出解决方法
![](https://img.aspxhome.com/file/2023/28/a239861_0s.png)
PPT按钮交互动画效果怎么做?PPT按钮交互动画效果制作教程
![](https://img.aspxhome.com/file/2023/10/a350101_0s.jpg)
Win10如何做到瞬间关机?Win10瞬间关机操作方法
![](https://img.aspxhome.com/file/2023/2/50462_0s.png)
特殊隐藏名称(Name) 在 Excel 中的使用基础教程
![](https://img.aspxhome.com/file/2023/0/a161830_0s.jpg)
Win10如何安装IE10浏览器?Win10安装IE10浏览器的方法
![](https://img.aspxhome.com/file/2023/29/a260850_0s.jpg)
WPS Excel表格中按回车键不能换行怎么办
![](https://img.aspxhome.com/file/2023/2/a186082_0s.jpg)
Win10系统应该如何添加USB快捷删除键呢?
![](https://img.aspxhome.com/file/2023/3/a299872_0s.jpg)
WPS怎么画扇形? wps画四分之一圆的教程
![](https://img.aspxhome.com/file/2023/2/a167362_0s.png)
[视频演示]微软正测试Win10 Mobile动态磁贴自定义大小拖曳调节
![](https://img.aspxhome.com/file/2023/28/a249287_0s.jpg)
如何用u盘安装win11系统?教你用u盘安装win11系统教程
![](https://img.aspxhome.com/file/2023/5/a318512_0s.jpg)