1- 区域命名

ThisWorkbook.Names.Item("foo").RefersTo
=Tabelle1!$A$1:$B$1
ThisWorkbook.Names.Item("foo").RefersToRange.Address
$A$1:$B$1

2- 一个有趣的case

Sub 按钮1_Click()
For j = 1 To 1000
Cells(j, 1) = j For i = 1 To 10000
DoEvents
Next i Next j
End Sub

3- 行号列号的几种抓取方式

Workbooks(1).Worksheets.Count
UsedRange.Rows.Count; //使用行数
UsedRange.Columns.Count; //使用列数

4- Range

4-1 定位单元格

Range(“A1”)
Cells(1,1)
Cells(1,”A”)

4-2 边缘区域的定位

Range(“A1”).Offset(1,1)

End(xlDown)
End(xlToLeft)
End(xlToRight)

EntireRow属性和EntireColumn属性可以获取单元格或单元格区域所在的整行或整列。一个典型的应用就是隐藏满足条件的单元格所在的行或列。此外,通过设置行或列的背景色,可以达到高亮显示所在单元格行或列的效果。

 

4-3 Resize

Resize能基于选中单元格调整range区域大小,选中current range中除标题行以外的单元格区域

Set rng=Range('B1').CurrentRegion
rng.Offset(1,0).Resize(rng.Rows.Count-1, rng.Columns.Count).Select

4-4 常用Region

CurrentRegion属性和UsedRange属性能够让我们“立刻获得”大片单元格区域。

CurrentRegion属性相当于在工作表中按下组合键,快速选择由空行和空列围成的一片单元格区域。

选取效果类似 - Ctrl + Shift + *

Range('A1').CurrentRegion.Select
Range('C3').CurrentRegion.Select
ActiveCell.CurrentRegion.Select Dim rng As Range
Set rng = Range('B2').CurrentRegion
MsgBox '当前单元格区域共有'&rng.Rows.Count&'行,'&rng.Columns.Count&'列'

UsedRange属性用于获取工作表中由所使用的单元格围成的方形单元格区域,无论该区域内是否有空行或空列,即使在单元格中应用了格式但还没有输入内容,该单元格也会被UsedRange属性获取,从而包含到已使用的单元格区域中。

4-5 SpecialCells

VBA提供了SpecialCells方法,通过指定类型参数,快速定位到特定的单元格,例如参数指定为xlCellTypeLastCell则会定位到工作表中最后使用的单元格。

类似- Ctrl + G

Selection.SpecialCells(clCellTypeBlank).Select
Range.SpecialCells(Type,Value)
Dim rng as Range
Set rng = Selection.SpecialCells(clCellTypeLastCell)
rng.Address(RowAbsolute:=False,ColumnAbsolute:=False)

4-6 区域包含关系

使用Intersect方法。Union方法和Intersect方法还可以用于判断一个区域是否包含另一个区域,在此基础上,可以进一步编写代码保护单元格,防止用户修改特定的单元格区域。

rngIntersect = Intersect(Range('A1:C5'),Range('B3:E8'))
Range('A1:B2').Font.ColorIndex=3
Range('E8:F9').Font.ColorIndex=3 Union(Range('A1:B2'),Rande('E8:F9')).Font.ColorIndex=3

4-7 非连续区域的选择

如果我们选择的单元格或者单元格区域不连续,而是分散在工作表的不同地方,那么可以使用Areas集合来获取这些区域。通过Areas集合,可以方便地获取一整块满足条件的区域。若配合循环语句使用,会使代码简洁而强大。
Dim rng As Range
For each rng InCells.SpecialCells(xlCellTypeConstants,1).Areas
rng.Interior.Color = RGB(255,0,0)
Next rng

【转载】EXCEL VBA-区域选择的更多相关文章

  1. 【转载】EXCEL VBA 同时选择多个工作表的方法

    如果要用VBA同时选择多个工作表,可以利用数组或设置"Select"方法的参数为"False"来扩展所选择的内容,如下面的一些代码:   1.用工作表名称:   ...

  2. 【转载】EXCEL VBA 选取非连续的单元格区域——Areas集合

    出处:http://www.360doc.com/content/21/1113/17/77710807_1004011085.shtml 前面我们讲的大多是**并操作单个的单元格,或者是连续的单元格 ...

  3. 【转载】EXCEL VBA Workbook、Worksheet、Range的选择和操作

    Workbooks对象是Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合.有close.add.open等方法.   Workbooks.close        ...

  4. 【转载】EXCEL VBA 关于范围选择代码集

    Range("A1:B2").Select '选中"A1"."A2"."B1"."B2"四个连续的单 ...

  5. 【转载】EXCEL VBA 中的Range.offset和Range.resize

    在Excel VBA中range.offset和range.resize均可以重新选择区域,但range.offset表示偏移且偏移后尺寸不改变,range.resize则会根据输入的行数和列数重新定 ...

  6. 【转载】EXCEL VBA 工作表拆分

    用VBA拆分工作表是一个不错的方法,特别是在处理大量数据的时候,能节省不少时间.   1.高级筛选: 筛选并复制到新工作表的关键代码如下: Range("Database").Ad ...

  7. Excel VBA入门(三) 流程控制1-条件选择

    VBA中的流程控制分为两种,其一是条件结构式的,即根据条件判断的结果去选择性执行相应的语句(块):另一种是循环,即循环地执行语句(块).本节介绍第一种. 1. IF if 语句其实包含有几种形式: ① ...

  8. C#调用Excel VBA宏[转载]

    原文地址:https://www.cnblogs.com/heekui/archive/2008/03/30/1129355.html 近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有E ...

  9. Excel VBA活动抽奖小程序

    在活动中,我们常会有抽奖,抽奖箱准备繁琐,现在多采用线上抽奖方式,下面用Excel VBA写了一个简单的抽奖小程序 简单测试效果如下,可实现: 多次抽奖,且每次抽奖都不重复 抽奖界面滚动人员信息,点击 ...

  10. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

随机推荐

  1. 微信小程序发布与支付

    一.小程序的发布流程 小程序协同工作和发布官网链接 1.背景 小程序的平台里,开发者完成开发之后,需要在开发者工具提交小程序的代码包,然后在小程序后台发布小程序. 2.流程 上传代码 代码管理服务器上 ...

  2. Docker 部署 Kibana

    Docker 部署 Kibana 本篇主要介绍 使用 Docker 部署 kibana 用于操作 Elasticsearch 使用. 1. 前置准备 1.1 Elasticsearch 准备 可以先准 ...

  3. Kafka之工作流程分析

    Kafka之工作流程分析 kafka核心组成 一.Kafka生产过程分析 1.1 写入方式 producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(pa ...

  4. Kafka之安装

    Kafka之安装 一.下载kafka 此博客只讲述kafka0.8和kafka1.0两个版本 更改kafka下的/home/bigdata/kafka/config/server.properties ...

  5. 【题解】CF1720C

    题意简述 给你一个 01 矩阵,每一次你可以在这个矩阵中找到一个 \(L\) 型,将它全部变成 0.\(L\) 型的定义是在一个 \(2\times2\) 矩阵中,除开一个角之外的图形,其中必须包含至 ...

  6. MyBatisPlus分页插件在SpringBoot中的使用

    文章目录 1.目录结构 2.新增配置 3.编写测试类 4.测试结果 5.数据库中的表 文件的创建: https://blog.csdn.net/weixin_43304253/article/deta ...

  7. 复杂场景数据处理的 OLTP 与 OLAP 融合实践

    本文首发于 NebulaGraph 公众号 Dag Controller 介绍 Dag Controller 是 NebulaGraph 企业版的系统,经过反复测试无误后进行了发布,它主要解决的是 O ...

  8. 前端JS模板引擎Mustache.js的用法

    Mustache.js在前端是一个非常强大的模板 Mustache用法参考

  9. Python基础之面向对象:3、继承与派生

    面向对象 一.三大特征之继承 python三大特征: 封装.继承.多态 三者中继承最为核心,实际应用对,感受较为直观 封装和多态略微抽象 1.继承的概念 继承的含义: ​ 在现实生活中,继承表示人与人 ...

  10. ubuntu基本

    ubuntu使用过程中遇到的指令 apt-get更新 当现出net-tools没有可安装候选 的提示时,可能是apt-get需要更新了.通过指令sudo apt install net-tools p ...