Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Range属性

啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Range属性

作者头像
fanjy
发布于 2022-01-07 09:40:51
发布于 2022-01-07 09:40:51
6.9K0
举报
文章被收录于专栏:完美Excel完美Excel

标签:VBA,Range对象

引言:本文学习整理自powerspreadsheets.com,讲解得很细致,一些知识点反复强调,对于熟悉VBA的朋友来说,感觉有点啰嗦,但是对于VBA初学者来说,对快速掌握Range对象的引用,却很有好处。

使用Excel时,我们花时间最多的就是处理单元格。因此,如果想使用VBA提高Excel工作效率,必须学习如何使用VBA处理单元格。

本文讲解如何使用VBA处理单元格,解释使用Range对象所需了解的所有基本细节。Range对象是VBA中用于引用和处理单元格的对象,是ExcelVBA中最常用的对象之一。VBA允许用户以多种不同的方式引用单元格区域。

什么是Range对象

Range对象代表工作表中的单元格区域,这意味着可以使用Range对象来引用:

  • 单个单元格
  • 一行或一列单元格。
  • 选择的单元格,无论它们是否连续
  • 三维单元格区域

从上面可以看出,Range对象的大小可能会有很大差异,你可以只引用单个单元格,也可以引用Excel工作表中的所有单元格。

尽管在引用特定Excel工作表中的单元格时具有这种灵活性,但Range对象还是有一些限制。最相关的是,一次只能使用它引用单个Excel工作表,要引用不同工作表中的单元格区域,必须对每个工作表使用单独的引用。

如何引用Range对象

要掌握Range对象,首先要学习的是如何引用它,随后的各节解释了需要了解的编写合适引用的最相关的规则。

前几节介绍引用Range对象的最基本方式:Range属性。这也是宏录制器通常引用Range对象的方式。

接着,介绍创建对象引用的更多方法,例如使用Cells或Offset属性。

然而,这些并不是引用Range对象的唯一方法,还有一些更高级的方法,例如使用Application.Union方法,这里没有介绍。

基于上下文和特定的需要,确定引用Range对象的最佳方法。

引用Range对象以及对象限定符介绍

为了能够正确使用范围对象,必须了解如何使用Range对象引用的两个主要部分:

1.对象限定符。这是创建对象引用的一般规则。

2.用于返回Range对象的相关属性或方法。这是适用于引用Range对象的特定规则,这也是本文所要讲解的主要内容。

完全限定的VBA对象引用介绍

对象能够作为其他对象的容器

在基本层级上,当引用特定对象时,可以通过引用其所有父对象来告诉Excel该对象是什么。换句话说,将遍历Excel的VBA对象层次结构。

可以使用点(.)运算符通过Excel的对象层次结构连接每个不同层级的对象。

这些类型的特定引用称为完全限定引用。那么,Range对象的完全限定引用如何表示?

Excel VBA对象层次结构顶部的对象是Application。Application本身包含其他对象。

Range对象包含在Worksheet对象中。更准确地说:Worksheet对象有一个Range属性;Worksheet.Range属性返回Range对象。

Worksheets的父对象是Workbook对象,Workbook对象本身包含在Application对象中。

这些不同对象之间的层次关系如下:

因此,用于引用Range对象的基本结构如下:

Application.Workbooks.Worksheets.Range

注意到,上述基本结构中的一些内容是模糊的。特别是,这里并没有指定所引用的特定Excel工作簿或工作表。为此,必须理解下面的内容。

从集合中引用对象

在VBA中,对象集合是一组相关的对象。

用于创建对Range对象的完全限定引用的Workbooks和Worksheets都是集合的示例。有两种基本方法可以引用集合中的特定对象:

1.使用对象名称。这种情形的语法是:集合名称(“对象名称”)。

2.使用索引。其语法是:集合名称(索引号)

注意,第一种方法必须在括号内使用双引号(””),而第二种方法不必在索引编号周围加引号。

假设想要处理工作簿“Book1.xlsm”中名为“Sheet1”的工作表,两种方法的引用如下:

1.使用对象名称:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range

2.使用索引号:

Application.Workbooks(1).Worksheets(1).Range

简化完全限定对象引用

Excel的VBA对象模型包含一些默认对象。依赖这些默认的对象,可以简化完全限定的对象引用。

有两种主要类型的默认对象可用于简化完全限定对象引用:

1.Application对象

2.活动的工作簿和工作表对象

VBA始终假定处理的是Excel本身。因此,可以通过省略Application简化完全限定对象引用。例如,在上述示例的情况下,简化引用如下:

Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range

Workbooks(1).Worksheets(1).Range

此外,VBA假定正在处理当前活动工作簿和活动工作表。这种简化比前一种更复杂,因为它依赖于正确识别活动工作簿和工作表,这比识别Excel应用程序本身稍微困难一些。

然而,也可以使用这两个默认对象创建更简单的VBA对象引用。继续上面相同的例子,可写为:

Range

使用Range属性引用Range对象

在上面的示例中,我们使用了Range代表要引用的单元格区域,在实际代码中,需要指定想要处理的特定单元格区域。

引用Range对象的最基本方法可能是使用Range属性。应用此属性时,将返回一个表示一个或多个单元格的Range对象。

Range属性有两个版本:Worksheet.Range属性和Range.Range属性,两者背后的逻辑基本相同,主要区别在于它们应用于哪个对象:

1.使用Worksheet.Range属性时,Range属性应用于工作表。

2.使用Range.Range属性时,Range应用于单元格区域。

换句话说,Range属性应用于2个不同类型的对象:Worksheet对象和Range对象。

在上文的介绍中,Range对象的父对象是Worksheet对象,换句话说,Range属性应用于Worksheet对象。然而,也可以将Range属性应用于Range对象,如果这样,由Range属性返回的对象会改变。

正如Microsoft所解释的那样,这是因为Range.Range属性与应用该属性的对象相关。因此,如果应用Range.Range属性,该属性相对于Range对象而不是Worksheet对象起作用。

这意味着可以应用Range.Range属性,用于引用与另一个区域相关的区域。下面将举例说明这种引用是如何工作的。

Range属性的基本语法

引用Range对象的基本语法是:

表达式.Range(“单元格区域”)

注意到,该语法遵循上面为其他VBA对象(如Workbooks和Worksheets)解释的一般规则。特别是,有4个基本元素:

元素1:关键字“Range”。

元素2:关键字后面的括号。

元素3:相关单元格区域。下面会解释了定义单元格区域的不同方法。

元素4:引号。所引用的单元格区域通常在引号(“”)内。

在这种特殊情况下,“表达式”只是一个表示Worksheet对象(对于Worksheet.Range属性)或Range对象(对于Range.Range对象)的变量。

从广义上讲,通常可以使用与编写常规Excel公式时使用的类似的方法来引用单元格区域,这意味着使用A1样式引用。

对于初学者来说,一开始可以会感觉有点混乱,不要担心,展示一些引用示例后,一切都会变得清晰。

可以使用两种不同的语法来定义想要处理的单元格区域。

语法1:(“Cell1”)

这是定义相关单元格区域时必须包含的最小值。作为一般规则,使用此语法时,参数(Cell1)必须为以下任一项:

1.表示单元格区域地址的字符串。

2.命名单元格区域的名称

命名区域时,可以使用以下3个运算符之一:

1.冒号(:):这是用于设置数组的运算符。在引用单元格区域的上下文中,可以用来引用整列或整行、连续单元格区域或非连续单元格区域。

2.空格():这是交叉运算符。如下文图所示,可以使用交叉操作符来引用两个单独区域共用的单元格。

3.逗号(,):这是联合运算符,可用于组合多个区域。如下面的示例所示,在处理非连续单元格区域时,可以使用此运算符。

语法2:”(Cell1, Cell2)”

如果选择使用此语法,则基本上是通过在其两个角的命名单元格来指定相关区域:

1.“Cell1”是单元格区域左上角的单元格。

2.“Cell2”是单元格区域右下角的单元格。

然而,这种语法并不像看起来那么严格。在这种情况下,参数可以包括:

1.Range对象;

2.单元格区域地址;

3.命名单元格区域名称;

4.上述组合。

使用Worksheet.Range属性引用单个单元格

如果要引用的Range对象是单个单元格,则语法为简单的:

Range(“Cell”)

例如,如果要引用单个单元格A1,输入

Range(“A1”)

假设继续使用Book1.xlsm的Sheet1,则进一步对这个单元格创建完全限定引用:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”)

可能已经注意到了一些非常重要的事情:没有Cell对象这样的东西。单元格本身不是一个对象。单元格包含在Range对象中。

也许更准确地说,单元格是一个属性。实际上,可以使用此属性(单元格)来引用单元格区域。上面的示例将Range属性应用于Worksheet对象。换句话说,它是Worksheet.Range属性的一个示例。

使用Range.Range属性相对于另一个单元格区域引用单个单元格

假设简单地按如下方式使用Selection对象,而不是如上所述指定完全限定引用:

Selection.Range(“A1”)

此外,假设当前选择区域是活动工作表的C3和D5(单元格C3、C4、C5、D3、D4和D5)之间的单元格区域。该选择区域是一个Range对象。

由于Selection对象表示文档中当前选定的区域,因此上面的引用返回单元格C3。它不会返回单元格A1。

上述两个示例引用行为不同的原因是,Range属性的行为是相对于其应用的对象。换句话说,将Range属性应用于Range对象时,其行为相对于该区域(更准确地说,是其左上角)。将其应用于Worksheet对象时,其行为相对于工作表。

通过将Range属性应用于Range对象来创建引用不是很直观。然而,相对于其他区域引用单元格的能力有几个优点,允许在事先不知道其地址的情况下引用单元格。

幸运的是,为了引用与区域相关的特定单元格,还有其他方法,主要是Range.Offset属性,这将在下面介绍。

使用Worksheet.Range属性引用整列或整行

Range对象可以由完整的行或列组成。可以按如下方式引用整行或整列:

行:Range(“行号:行号”)

列:Range(“列字母:列字母”)

例如,如果要引用特定工作表的第一行,其语法为:

Range(“1:1”)

如果要引用第一列(列A),则键入:

Range(“A:A”)

假设处理Book1.xlsm中的Sheet1,则完整的限定引用如下:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“1:1”)

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A:A”)

使用Worksheet.Range属性引用连续单元格区域

如果要引用单元格A1和B5之间的单元格区域(A1、A2、A3、A4、A5、B1、B2、B3、B4和B5),一个合适的语法是:

Range(“A1:B5”)

如果继续使用Book1.xlsm中的Sheet1,则完全限定引用如下:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1:B5”)

然而,如果选择应用第二种语法,描述了相关的区域,那么合适的语法是:

Range(“A1”, “B5”)

在本例中,完全限定引用如下所示:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”,“B5”)

使用Worksheet.Range属性引用非连续单元格区域

Excel中用于引用一系列非连续单元格的语法与用于引用一系列连续单元格的语法非常相似,只需使用逗号(,)分隔不同的区域。因此,其基本语法是:

Range(“单元格区域1, 单元格区域#, …”)

假设想引用下列非连续单元格区域:

单元格A1至B5(A1,A2,A3,A4,A5,B1,B2,B3,B4和B5)和单元格D1至D5(D1,D2,D3,D4和D5)

输入:

Range(“A1:B5,D1:D5”)

完全限定引用如下:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1:B5,D1:D5”)

然而,在处理一系列非连续单元时,可能需要分别处理每个不同的区域。原因是某些方法/属性在处理此类非连续单元格区域时存在问题。

使用Worksheet.Range属性引用两个单元格区域的交叉区域

假设想要引用下面两个单元格区域的交叉区域:

单元格B1至B10(B1,B2,B3,B4,B5,B6,B7,B8,B9和B10)和单元格A5至C5(A5,B5和C5)

这种情况下,合适的语法为:

Range(“B1:B10A5:C5”)

假设处理Book1.xlsm的Sheet1,则完全限定引用的构造如下:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“B1:B10A5:C5”)

这样的引用返回两个区域共用的单元格。在本例中的两个区域共用的唯一单元格是B5。

使用Worksheet.Range属性引用命名区域

如果引用的区域具有名称,则其语法与引用单个单元格非常相似,只需将用于引用区域的地址替换为适当的名称。

例如,如果想创建对名为“Excel_Example”的单元格区域的引用,其合适的语法为:

Range(“Excel_Example”)

完全限定的引用为:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“Excel_Example”)

记住在单元格区域名称周围使用引号(“”)。如果不使用引号,VBA会将其解释为变量。

使用Worksheet.Range属性引用合并的单元格区域

通常,处理合并单元格并不是那么简单,下面是使用包含合并单元格的区域时可能面临的一些(潜在)挑战:

1.宏的行为不同于你所期望的。

2.排序问题

引用合并单元格时要考虑的第一件事是,可以用以下2种方式之一引用它们:

1.通过引用整个合并单元格区域。

2.仅引用合并单元格区域的左上角单元格。

假设正在处理的Excel电子表格中合并了A1到C5的单元格区域,这包括单元格A1、A2、A3、A4、A5、B1、B2、B3、B4、B5、C1、C2、C3、C4和C5。在这种情况下,适当的语法如下所示:

1.如果引用整个合并区域:Range(“A1:C5”)。在本例中,完全限定的引用是:Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1:C5”)。

2.如果仅引用合并区域左上角单元格:Range(“A1”)。完全限定的引用是:Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”)。

两种情形,结果相同。

在尝试将值赋给合并的单元格时,应特别小心。通常,只能通过将值赋给区域的左上角单元格(上例中的单元格A1)来执行此操作。否则,ExcelVBA(通常)不会:进行赋值;和返回错误。

使用Range属性的快捷方式引用Range对象

可以使用方括号([])缩短使用Range属性对Range对象的引用。可以像下面这样使用这种快捷方式:

1.不使用关键字Range。

2.用方括号([])包围相关属性参数,而不是使用括号和双引号(“”)。

快捷方式1:引用单个单元格

代替输入:Range(“Cell”),而是输入:[Cell]。

例如,如果想要引用单元格A1,使用:[A1]。对于Book1.xlsm中工作表Sheet1的单元格A1,完整限定的引用是:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).[A1]

快捷方式2:引用整行或整列

应用方括号的快捷方式是:

行:[行号:行号]

列:[列字母:列字母]

例如,如果引用工作表第1行或第1列,其语法为:

行:[1:1]

列:[A:A]

假设在Book1.xlsm中工作表Sheet1,则完全限定引用为:

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).[1:1]

Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).[A:A]

快捷方式3:引用连续单元格区域

通过使用方括号缩短对一系列连续单元格的引用,如下所示:

[左上角单元格:右下角单元格]

例如,为了引用单元格A1和B5(A1、A2、A3、A4、A5、B1、B2、B3、B4和B5)之间的单元格区域,可以键入:[A1:B5]。或者,如果对Book1.xlsm的Sheet1使用完全限定的引用,语法如下:

Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").[A1:B5]

快捷方式4:引用非连续单元格区域

使用方括号简化引用如下:[单元格区域1,单元格区域#,…]。

如果要引用以下非连续单元格区域:

单元格A1至B5(A1、A2、A3、A4、A5、B1、B2、B3、B4和B5)和单元格D1至D5(D1、D2、D3、D4和D5)。

使用方括号的语法为:

[A1:B5,D1:D5]

完全限定的引用语法为:

Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").[A1:B5,D1:D5]

快捷方式5:引用两个区域的交叉区域

使用方括号时,引用两个区域的交叉区域:

[单元格区域1 单元格区域2]

假设希望引用以下两个区域的交叉区域:

单元格B1至B10(B1、B2、B3、B4、B5、B6、B7、B8、B9和B10)和单元格A5至C5(A5、B5和C5)。

可以创建使用方括号的引用如下:

[B1:B10 A5:C5]

对Book1.xlsm的Sheet1使用完全限定的引用如下:

Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").[B1:B10A5:C5]

返回两个区域的共用单元格:B5。

快捷方式6:引用命名区域

使用方括号时,引用命名区域如下:

[区域名称]

例如,如果引用的区域名称为“Excel_Example”,则引用构造可以为:

[Excel_Example]

对Book1.xlsm的Sheet1使用完全限定的引用如下:

Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").[Excel_Example]

未完待续

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Cell属性和Offset属性
引言:本文学习整理自powerspreadsheets.com,讲解得很细致,一些知识点反复强调,对于熟悉VBA的朋友来说,感觉有点啰嗦,但是对于VBA初学者来说,对快速掌握Range对象的引用,却很有好处。
fanjy
2022/01/07
4.6K0
啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Cell属性和Offset属性
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
官方文档:https://xlrd.readthedocs.io/en/latest/
Python小二
2020/09/08
7.8K0
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
EXCEL VBA语句集300
        定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示  Option Compare Text ‘字符串不区分大小写  Option Base 1 ‘指定数组的第一个下标为1 (2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ‘恢复正常的错误提示 (5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False ‘关闭屏幕刷新 Application.ScreenUpdating=True ‘打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能  工作簿 (8) Workbooks.Add() ‘创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿 (10) ThisWorkbook.Save ‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数 (13) ActiveWorkbook.name ‘返回活动工作薄的名称 (14) ThisWorkbook.Name ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化  工作表 (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum” ‘将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2 (24) Sheets(“sheet1”).Delete或 Sheets(1).Delete ‘删除工作表1 (25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示 (28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式 (29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.Le
Tony老师
2020/03/05
2.3K0
不吹不黑!Python办公自动化,全网最全整理!
官方文档:https://xlrd.readthedocs.io/en/latest/
释然IT杂谈
2023/08/18
1.5K0
不吹不黑!Python办公自动化,全网最全整理!
Excel 宏编程的常用代码
我们常用Excel统计一些数据,如果善用VBA,就能自动做出各种复杂的报表,懒人就是追求一劳永逸!不过,也不是真懒啦,只是用智慧(脑力劳动)将自身从体力劳动中解放出来而已,人类也是这样进步的。我有这样的感觉,就是每见到一个语句或函数,都会激发出偷懒的灵感来,哈哈,很自恋了,其实好玩而已。
全栈程序员站长
2022/06/30
2.9K0
划重点!告诉你什么是Excel VBA对象模型及如何引用对象
要编写Excel VBA程序,必须知道对象。可以认为,VBA基于面向对象编程,这意味着VBA程序主要是在处理(或操控)对象。因此,我们要掌握ExcelVBA编程,必须理解:
fanjy
2022/03/04
4.8K0
划重点!告诉你什么是Excel VBA对象模型及如何引用对象
Range单元格对象常用方法(一)
今天介绍的单元格对象方法在平时使用excel也是常规的操作,如单元格的复制、剪切、删除、清除内容等。只是在VBA编程中是通过代码的形式来运行。
无言之月
2019/10/13
2.2K0
C# 实现完善 Excel 不规则合并单元格数据导入
在我的文章 《C#实现Excel合并单元格数据导入数据集》里讲述了可以将具有合并单元格的Excel文件数据导入到DataSet里,在实际使用情况中遇到如下情况,如下图:
初九之潜龙勿用
2025/02/20
1740
C# 实现完善 Excel 不规则合并单元格数据导入
常见的复制粘贴,VBA是怎么做的
引言:本文学习整理自powerspreadsheets.com,非常清晰透彻地讲解如何使用VBA进行复制粘贴操作。
fanjy
2022/03/04
12.8K0
常见的复制粘贴,VBA是怎么做的
Excel VBA编程
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
全栈程序员站长
2022/08/11
46.7K0
Excel VBA编程
Excel宏教程 (宏的介绍与基本使用)
大家好,又见面了,我是你们的朋友全栈君。 Excel宏教程 (宏的介绍与基本使用) Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从而大大简化了数据的处理工作。但若仅利用excel的常用功能来处理较复杂的数据,可能仍需进行大量的人工操作。但excel的强大远远超过人们的想象–宏的引入使其具有了无限的扩展性,因而可以很好地解决复杂数据的处理问题。 随着支持Windows的应用程序的不断增多和功能的不断增强,越来
全栈程序员站长
2022/08/23
6.9K0
VBA对象模型和对象引用
EXCEL中的各种对象并不是孤立存在的,彼此之间都是有联系和层级关系,对象模型的概念就是用来描述对象之间关系的,构建了一个完整的体系。
无言之月
2019/10/14
2.4K0
VBA对象模型和对象引用
Range单元格对象引用复习
上节介绍单元格对象的三种表示方式,分别是range、cells属性和快捷方式来表示单元格,由于VBA对象的相关内容对于初学者并不易理解,本节作简单回顾和补充。
无言之月
2019/10/13
9150
常见的复制粘贴,VBA是怎么做的(续)
Worksheet.Paste(Excel VBA没有Range.Paste方法)在某种程度上与Range.PasteSpecial方法非常相似。Paste方法的主要目的是将剪贴板包含的内容粘贴到相关工作表上。
fanjy
2022/03/04
11.2K0
常见的复制粘贴,VBA是怎么做的(续)
VBA编程基础和编程环境(二)
上一节中认识了Excel 宏的基本样子,明白了VBA就是一门类似于C、JAVA、Python等编程语言,了解了VBA与宏的关系,本节开始学习VBA编程的基础知识和编程环境,是整个学习编程的基础。
全栈程序员站长
2022/09/06
2.1K0
VBA编程基础和编程环境(二)
Python操作Excel的一些基本程序代码
下面的脚本代码打开现有工作簿并通过指定excel.Visible=True来显示该工作簿。
fanjy
2023/02/24
1.3K0
VBA实战技巧01: 在代码中引用动态调整单元格区域的5种方法
在VBA代码中,经常要引用单元格数据区域并对其进行操作。然而,如果对数据区域采用“硬编码”地址,那么当该区域大小变化时,必须修改相应的引用该区域的代码。本文整理了可以动态引用数据区域的5种方法,供编写代码时参考。
fanjy
2020/02/12
4.9K0
VBA基础:复制格式、选取单元格及复制工作表的示例代码
fanjy
2024/05/25
5360
VBA基础:复制格式、选取单元格及复制工作表的示例代码
Excel应用实践25: 找出两个单元格区域中不相同的数据
有两组数据,一组是原来工作表中存储的,一组是从办公系统中下载的,这两组数据应该完全一样,但实际发现存在几个不相同的数据,现在想要找出这些不相同的数据,可是数据有上千条,一个个对照的话,速度慢不说,还不容易找全。
fanjy
2020/01/14
1.7K0
Excel应用实践25: 找出两个单元格区域中不相同的数据
Range单元格对象引用
大家好,前面介绍了对象模型、对象属性和对象方法的基础知识,后续会介绍各种常用对象,以及他们的常用属性和方法。
无言之月
2019/10/13
1.6K0
推荐阅读
相关推荐
啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Cell属性和Offset属性
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档