【转载】EXCEL VBA-区域选择
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 非连续区域的选择
Dim rng As Range
For each rng InCells.SpecialCells(xlCellTypeConstants,1).Areas
rng.Interior.Color = RGB(255,0,0)
Next rng
【转载】EXCEL VBA-区域选择的更多相关文章
- 【转载】EXCEL VBA 同时选择多个工作表的方法
如果要用VBA同时选择多个工作表,可以利用数组或设置"Select"方法的参数为"False"来扩展所选择的内容,如下面的一些代码: 1.用工作表名称: ...
- 【转载】EXCEL VBA 选取非连续的单元格区域——Areas集合
出处:http://www.360doc.com/content/21/1113/17/77710807_1004011085.shtml 前面我们讲的大多是**并操作单个的单元格,或者是连续的单元格 ...
- 【转载】EXCEL VBA Workbook、Worksheet、Range的选择和操作
Workbooks对象是Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合.有close.add.open等方法. Workbooks.close ...
- 【转载】EXCEL VBA 关于范围选择代码集
Range("A1:B2").Select '选中"A1"."A2"."B1"."B2"四个连续的单 ...
- 【转载】EXCEL VBA 中的Range.offset和Range.resize
在Excel VBA中range.offset和range.resize均可以重新选择区域,但range.offset表示偏移且偏移后尺寸不改变,range.resize则会根据输入的行数和列数重新定 ...
- 【转载】EXCEL VBA 工作表拆分
用VBA拆分工作表是一个不错的方法,特别是在处理大量数据的时候,能节省不少时间. 1.高级筛选: 筛选并复制到新工作表的关键代码如下: Range("Database").Ad ...
- Excel VBA入门(三) 流程控制1-条件选择
VBA中的流程控制分为两种,其一是条件结构式的,即根据条件判断的结果去选择性执行相应的语句(块):另一种是循环,即循环地执行语句(块).本节介绍第一种. 1. IF if 语句其实包含有几种形式: ① ...
- C#调用Excel VBA宏[转载]
原文地址:https://www.cnblogs.com/heekui/archive/2008/03/30/1129355.html 近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有E ...
- Excel VBA活动抽奖小程序
在活动中,我们常会有抽奖,抽奖箱准备繁琐,现在多采用线上抽奖方式,下面用Excel VBA写了一个简单的抽奖小程序 简单测试效果如下,可实现: 多次抽奖,且每次抽奖都不重复 抽奖界面滚动人员信息,点击 ...
- 来吧!带你玩转 Excel VBA
来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
随机推荐
- 微信小程序第三方授权登录
登录流程时序图: 1.调用uni.getProvider()获取服务供应商,参数service确定是选择对应的什么操作,此处选择授权登录oauth 代码如下: 2.调用登录接口uni.login(), ...
- C语言下for循环的一点技巧总结
for循环是普遍应用与各种计算机语言的一种循环方式. 一般情况下, for循环规则:for(条件一:条件二:条件三) 条件一为满足条件,也就是条件一为1时,进入这个for循环.条件二为循环条件,也就是 ...
- The XOR Largest Pair (trie树)
题目描述 在给定的 NN 个整数 A_1,A_2,--,A_NA1,A2,--,AN 中选出两个进行xor运算,得到的结果最大是多少?xor表示二进制的异或(^)运算符号. 输入格式 第一行输入 ...
- 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)
环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...
- Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作
最近 PostgreSQL 15 版本正式发布了,新版本的各种特性和好处本文就不展开介绍了,主要介绍一下 Windows 环境下 PostgreSQL 大版本升级的方法,我们现在的几个数据库都是运行在 ...
- Docker | redis安装及测试
此篇文章目的是熟悉一下redis的下载安装使用,为后面部署redis集群做准备. 下载安装 linux上,我在/download目录下,执行下载的命令 root@--- ~]# wget http:/ ...
- 驱动开发:内核运用LoadImage屏蔽驱动
在笔者上一篇文章<驱动开发:内核监视LoadImage映像回调>中LyShark简单介绍了如何通过PsSetLoadImageNotifyRoutine函数注册回调来监视驱动模块的加载,注 ...
- Cookie、Session、Token与JWT(跨域认证)
之前看到群里有人问JWT相关的内容,只记得是token的一种,去补习了一下,和很久之前发的认证方式总结的笔记放在一起发出来吧. Cookie.Session.Token与JWT(跨域认证) 什么是Co ...
- BI系统打包Docker镜像及部署的技术难度和实现
BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...
- 又拍云之 Keepalived 高可用部署
在聊 Keepalived 之前,我们需要先简单了解一下 VRRP.VRRP(Virtual Router Redundancy Protocol)即虚拟路由冗余协议,是专门为了解决静态路由的高可用而 ...