VBA与|如何在Excel VBA中使用With ... End With语句?
在Excel VBA中带有语句
VBA中使用with语句来访问所提及对象的所有属性和方法。我们需要首先提供要引用的VBA对象,然后使用以下命令关闭With语句 结束于,然后在此语句中,我们可以执行所提到对象的所有属性更改和方法。
以下是VBA中With语句的语法。
使用[对象] [代码...需要做什么?]结尾
该对象不过是我们要引用的一系列单元格或单元格,然后我们可以更改属性并执行与该特定单元格或单元格关联的所有方法。
如何在Excel VBA中使用With语句?
以下是在Excel VBA中使用With语句的一些示例。
您可以在此处下载带有Excel模板的VBA –具有Excel模板的VBA范例#1
假设您在A1单元格中具有一定的价值,我在单元格A1中输入了文本“ Excel VBA”。
现在对于此单元格,我需要执行一些任务,即在excel中进行格式化。
我想更改字体大小,字体名称和内部颜色,插入边框等。典型的操作是我们首先使用VBA RANGE对象引用该单元格。
代码:
Sub With_Example1()范围(“ A1”)结束Sub
现在要更改字体大小,我们访问此单元格的“ font”属性。
在FONT属性下,我们访问Size属性,并输入等号来输入大小。
代码:
Sub With_Example1()Range(“ A1”)。Font.Size = 15结束Sub
现在,类似地,我们执行其他格式化任务,如下所示。
代码:
Sub With_Example1()Range(“ A1”)。Font.Size = 15 Range(“ A1”)。Font.Name =“ Verdana” Range(“ A1”)。Interior.Color = vbYellow Range(“ A1”)。Borders .LineStyle = xlContinuous End Sub
这将完成所有提到的任务,但是如果您查看执行每个格式化活动的代码,我们每次都会提供单元地址,这会使代码显得冗长且耗时。
现在,我们将使用VBA With语句来每次减少单元格地址的输入。在Excel VBA中打开WITH语句并提供单元格地址。
代码:
Sub With_Example1()With Range(“ A1”)End Sub
在With语句内放一个点,以查看单元格A1的所有属性和方法。
现在,第一个格式化活动是更改字体大小,因此请访问FONT并在此访问SIZE属性下。
代码:
Sub With_Example1()With Range(“ A1”).Font.Size = 15 End Sub
同样,提供其他格式代码并关闭VBA With Statement。
代码:
Sub With_Example1()With Range(“ A1”).Font.Size = 15 .Font.Name =“ Verdana” .Interior.Color = vbYellow .Borders.LineStyle = xl连续结束,带有结束子
运行代码以查看提到的对象(即单元格A1)中的所有格式。
因此,所有格式都应用于该单元格。看看这项技术有多酷。
范例#2
例如,如果要更改与字体相关的所有属性,可以提及cell和FONT属性。
代码:
Sub With_Example2()With Range(“ A1”)。Font End With End Sub
在vba With语句内部,我们可以看到IntelliSense列表,该列表将仅显示与FONT属性相关的属性和方法。
现在,我们可以执行任何活动。
代码:
Sub With_Example2()With Range(“ A1”)。Font .Bold = True'字体将为粗体.Color = vbAlias'字体颜色将为Alias .Italic = True'字体将为斜体样式。Size= 20'字体大小将为是20 .Underline = True'Font将加下划线End With End Sub
结果如下所示。
例子#3
下面的代码将仅访问与单元格边界相关的属性。
代码:
Sub With_Example3()With Range(“ B2”)。Borders .Color = vbRed'边框颜色将为红色.LineStyle = xlContinuous'全边框.Weight = xlThick'粗边框以End结尾
该代码的结果如下。
要记住的事情
- With语句用于最小化代码。
- 我们需要首先为With语句提供对象。
- 提供特定对象后,我们只能访问该对象的属性和方法。