当前位置:首页 > 日记 > 正文

Excel表格VBA入门基础语句有哪些

Excel表格VBA入门基础语句有哪些

  VBA同其他的编程语言一样,都要对数据进行操作,VBA为用户编程提供了方便。以下是小编为您带来的关于VBA入门基础语句详解,希望对您有所帮助。

  Excel表格VBA入门基础语句详解

  选择一个工作表:

  Sheets("Balance").Activate.

  选择单元格:

  Range("A1").Select

  选择连续的单元格:

  Range("A1:G8").Select

  选择不连续的单元格:

  Range("A1,B6,D9").Select

  Range("A1,B6:B10,D9").Select

  选择当前活动的工作簿:

  ThisWorkbook.Activate

  如果选择其他工作簿,注意该工作簿一定是打开的,并且不要忘记加上后缀“.xls” ,例如:

  Windows("Totol.xls").Activate

  选择一个工作表:

  Sheets("Balance").Activate.

  单元格间移动:

  ActiveCell.Offset(13, 14).Select

  Selection.Offset(-3, -4).Select

  Range("G8").Offset(-3, -4).Select

  注意:你可以定义一变量,并且用offset来实现,例如:

  varFreightRowsCount = Range("A1").CurrentRegion.Rows.Count

  ActiveCell.Offset(varFreightRowsCount, 0).Select

  选择整个工作表:

  Cells.Select

  选择当前单元格所在的区域 (遇到空行 / 空列即止):

  Range("A1").CurrentRegion.Select

  选择行或列:

  Rows("1").Select

  Columns("A").Select

  或者:

  ActiveCell.EntireRow.Select

  ActiveCell.EntireColumn.Select

  选择相邻的多行/多列:

  Columns("A:C").Select

  Rows("1:5").Select

  选择不相邻的多行/多列:

  注意:和选择相邻的多行/多列不同,使用"Range"而不是"Columns/Rows":

  Range("A:A, C:C, E:F").Select

  Range("1:1,5:6,9:9").Select

  选择当前活动单元格向下至最后一个非空单元格:

  Range("A1", Range("A1").End(xlDown)).Select

  Range(ActiveCell, ActiveCell.End(xlDown)).Select

  选择当前活动单元格向上至第一个非空单元格:

  Range("A32", Range("A32").End(xlUp)).Select

  Range(ActiveCell, ActiveCell.End(xlUp)).Select

  选择当前活动单元格向右至第一个非空单元格?

  注意:是 "xlTORight"而不是 "xlRight"

  Range("A1", Range("A1").End(xlToRight)).Select

  Range(ActiveCell, ActiveCell.End(xlToLeft)).Select

  选择当前活动单元格向右至第10个单元格?

  Range("A2", Range("A2").Offset(0, 10)).Select

  Range(ActiveCell, ActiveCell.Offset(0, 10)).Select

  选择当前活动单元格向左至第10个单元格?

  Range("A20", Range("A20").Offset(0, -10)).Select

  Range(ActiveCell, ActiveCell.Offset(0, -10)).Select

  选择当前活动单元格向下至第10个单元格?

  Range("a2", Range("a2").Offset(10, 0)).Select

  Range(ActiveCell, ActiveCell.Offset(10, 0)).Select

  选择当前活动单元格向上至第10个单元格?

  Range("A1").End(xlDown).Offset(1, 0).Select

  选择该行中第一个空单元格:

  Range("A1").End(xlToRight).Offset(0, 1).Select

  改变区域的大小(由 A1:B5 变为 A1:D10):注意:改区域并不是向外扩张,而是重新定义了。即“Selection.Resize(10, 4).Select而不是Selection.Resize(5, 2).Select

  Excel的宏不能记录移至当前行的第一个单元格的动作(即你按下“Home”键的动作),下面的语句则可以做到:

  ActiveCell.Offset(0, -ActiveCell.Column + 1).Select

  移至当前列的第一个单元格:

  ActiveCell.Offset(-ActiveCell.Row + 1, 0).Select

  关于If..Then...EndIf

  如果只有一个条件及一个动作,你可以用以下语句:

  If Selection.Value > 10 Then

  Selection.Offset(1, 0) = 100

  End If

  或者更简单的:

  If Selection.Value > 10 Then Selection.Offset(1, 0) = 100

  如果有两个条件及两个动作,你可以用下面的语句

  If Selection.Value > 10 Then

  If Selection.Value = 12 Then

  Selection.Offset(1, 0) = 100

  End If

  Selection.Offset(1, 0) = 20

  End If

  关于If..Then...And...EndIf

  当有双重条件和一个动作时,你可以用下面的语句:

  If Selection.Value = 10 And Selection.Offset(0, 1).Value = 20 Then

  Selection.Offset(1, 0) = 100

  End If

  关于If..Then...Or...EndIf

  当有双重条件和一个动作时,你可以用下面的语句:

  If Selection.Value = 10 Or Selection.Offset(0, 1).Value = 20 Then

  Selection.Offset(1, 0) = 100

  End If

  关于If..Then...Else...EndIf

  当只有一个条件和两个动作时,你可以用下面的语句:

  If Selection.Value > 10 Then

  Selection.Offset(1, 0) = 100

  Else

  Selection.Offset(1, 0) = 0

  End If

  关于If..Then..ElseIf...EndIf

  当有不止一个条件,且每个条件都跟随不同的动作时,你可以用下面的语句:

  If Selection.Value = 1 Then

  Selection.Offset(1, 0) = 10

  ElseIf Selection.Value = 2 Then

  Selection.Offset(1, 0) = 20

  ElseIf Selection.Value = 3 Then

  Selection.Offset(1, 0) = 30

  ElseIf Selection.Value = 4 Then

  Selection.Offset(1, 0) = 40

  ElseIf Selection.Value = 5 Then

  Selection.Offset(1, 0) = 50

  End If

  关于Select Case

  当你不得不测试很多条件,你可以用Select Case 语句来代替If Then..ElseIf 。语法如下:

  Sub test()

  Select Case Selection.Value

  Case Is >= 85

  Selection.Offset(0, 1) = "A"

  Case Is >= 75

  Selection.Offset(0, 1) = "B"

  Case Is >= 65

  Selection.Offset(0, 1) = "C"

  Case Is >= 50

  Selection.Offset(0, 1) = "D"

  Case Else

  Selection.Offset(0, 1) = "F"

  End Select

  End Sub

  这段语句的意思就是:如果所选单元格的值大于85时,则其右边那个单元格的值为“A”…… 所选单元格的值小于50时,其右边那个单元格的值为“F”

  这里有一些关于VBA函数 LCase, Now(), UCase 的例子:

  注意: 很多EXCEL函数都可以以下面的形式用在VBA中:

  varAnswer = Application.WorksheetFunction.Sum(Range("A1:A32"))

  或者

  varAnswer = Application.Sum(Range("A1:A32"))

  LCase

  当对输入的字符做判断时,我们无法知道用户输入的字符是大写还是小写,用LCase函数可以将其转化为小写:

  If LCase(Selection.value)= "toto" then...

  or

  Select Case LCase(Selection.Value)

  or

  Do While LCase(Selection.Value) <> "toto"

  NOW()

  NOW() 既是Excel 函数也是VBA 函数。

  通过下面的语句,在打开工作簿时,单元格 "A1"就会显示为当前时间:

  Range("A1").Formula = "=Now()"

  下面的语句则在执行后赋予单元格“A1”当前时间,该时间不会改变除非你再次执行语句。并且你每次打开工作簿后,单元格“A1”的值不会改变。

  Range("A1").Value = Now()

  UCase

  当对输入的字符做判断时,我们无法知道用户输入的字符是大写还是小写,用LCase函数可以将其转化为大写:

  If UCase(Selection.value)= "TOTO" then...

  or

  Select Case UCase(Selection.Value)

  or

  Do While UCase(Selection.Value) <> "TOTO"
 

猜你喜欢:

1.excel中使用vba功能的方法

2.excel中使用vba的方法

3.Excel中进行编写Vba函数的操作方法

4.excel2007vba基本使用教程

5.Excel2007中创建并使用VBA代码的操作

相关文章

jquery操作select取值赋值与设置选

jquery操作select取值赋值与设置选

赋值,操作,设置,取值,实例,本节内容:jquery实现select下拉框的取值与赋值,设置选中的方法大全。比如<select class="selector"></select>1、设置value为pxx的项选中 $(".selector").val("pxx");2、设置text为pxx的项选中 $(".selector…

在Word2016文档中如何制作艺术字

在Word2016文档中如何制作艺术字

文档,艺术字,电脑软件,  在Word文档中,添加和制作艺术字是非常常用的一个操作,那么艺术字想要制作的好看的方法有很多种。以下是小编为您带来的关于Word2016文档制作艺术字,希望对您有所帮助。Word2016文档制作艺术字先打开word文档,然后在wo…

ps怎么制作高对比度黑白头像?

ps怎么制作高对比度黑白头像?

头像,黑白,高对比度,电脑软件,ps,想用自己头像,又觉得彩色会有点单调时,不妨试试简单的将自己照片这样调节一下。而且这样的效果在用于做lo时,也是一种独特的标示,效果如下图所示。软件名称:Adobe Photoshop CS3 v10.0 绿色增强简体中文版软件大…

Request获取Session的方法总结

Request获取Session的方法总结

方法,电脑软件,Request,Session,Request获取Session的方法总结1、无请求参数public HttpSession getSession()获取当前request关联的session,如果当前request没有session,创建一个session.2、有请求参数public HttpSession getSession(bool…

AI怎么绘制绿色的短信信息图标?

AI怎么绘制绿色的短信信息图标?

图标,绘制,短信,电脑软件,AI,ai中绘制矢量图标很方便,今天我们就来看看使用ai设计信息应用图标的教程,请看下文详细介绍。软件名称:Adobe Illustrator CS6 (AI cs6) 精简绿色中文版(32位+64位)软件大小:205MB更新时间:2014-05-111、打开ai软件,选…

AI复制粘贴的命令按钮使用方法

AI复制粘贴的命令按钮使用方法

复制粘贴,命令,使用方法,按钮,电脑软件,前面介绍了一种复制的办法,以及利用它结合使用,从而批量复制的办法。这一节我们介绍第二种复制的办法&mdash;&mdash;使用复制,粘贴的命令按钮,一起来看看吧。步骤:1、在自己新建的画布上任意绘制一个矩形…

纯js实现html转pdf的简单实例 | 推

纯js实现html转pdf的简单实例 | 推

推荐,简单实例,电脑软件,js,html,项目开发中遇到了一个变态需求,需要把一整个页面导出为pdf格式,而且要保留页面上的所有的表格、svg图片和样式。简而言之,就是希望像截图一样,把整个页面截下来,然后保存成pdf。咋不上天呢……查了一下,能够实现h…

在ppt中怎么添加棋盘动画效果的时

在ppt中怎么添加棋盘动画效果的时

标签,动画效果,棋盘,时间,电脑软件,  在我们的ppt中添加日期是一种现实幻灯片制作时间的标志,为了让添加的时间更加的具有动态感,我们可以对时间进行动画效果的设置。以下是小编为您带来的关于在ppt中添加棋盘动画效果的时间标签,希望对您有…

wps演示里怎么绘制圆锥图形

wps演示里怎么绘制圆锥图形

图形,方法,绘制,圆锥,演示,  老师在制作数学课件时可能需要用到圆锥,那么,怎样在wps演示中制作圆锥图形呢?对于新手来说熟练应用wps演示还是有一定难度,怎么办?下面就让小编告诉你 wps演示怎样制作圆锥的方法,欢迎大家来到学习wps 演示。wps…

Word 2013中使用模板创建日历的方

Word 2013中使用模板创建日历的方

方法,模板,日历,有哪些,电脑软件,  Word为了方便用户创建各种实用文档提供了大量的模板,用户可以直接从网站上下载使用。以下是小编为您带来的关于Word 2013中使用模板创建日历的方法,希望对您有所帮助。Word 2013中使用模板创建日历的方法…

qq情侣签名浪漫最新

qq情侣签名浪漫最新

情侣,浪漫,热门,新篇,经典,  热恋中的情侣,总盼时刻相聚,短暂分离,当然有如一日三秋呀!浪漫情侣qq签名,还有哪些呢?本文小编分享了浪漫情侣qq签名,欢迎欣赏。浪漫情侣qq签名【最新篇】你是我最简单的爱情,也是我最简单的温暖。你是我最难缠的想…