【转载】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高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
随机推荐
- Linux实战笔记__Centos7上搭建DVWA网站(基于宝塔)
安装宝塔套件 宝塔官网有远程安装代码https://www.bt.cn/bbs/thread-19376-1-1.html 下载DVWA并上传至/www/wwwroot目录 下载地址: 配置数据库连接 ...
- 齐博X1-栏目的调用3
本节继续说明栏目的调用之同级别栏目 同级栏目的调用 fun('sort@brother',$fid,'cms') 这个函数用的比较多,特别是栏目页,在一个页面会把一个父级栏目下的子级栏目全部列出来, ...
- 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)
password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...
- 更换SSD系统启动盘-PE重装系统
由于把C盘所在的磁盘替换为了另一张大容量SSD,因此必须借助于PE系统重装Win10,基本步骤如下: 由于每个人电脑不同,遇到的情况也不同,我的电脑是惠普暗影精灵,在PE系统中需要用分区助手把新磁盘进 ...
- Java 8 Time API
Java 8 系列文章 持续更新中 日期时间API 也是Java 8重要的更新之一,Java从一开始就缺少一致的日期和时间方法,Java 8 Date Time API是Java核心API的一个非常好 ...
- SpringBoot自定义注解+异步+观察者模式实现业务日志保存
一.前言 我们在企业级的开发中,必不可少的是对日志的记录,实现有很多种方式,常见的就是基于AOP+注解进行保存,但是考虑到程序的流畅和效率,我们可以使用异步进行保存,小编最近在spring和sprin ...
- DQL-limit分页
DQL-limit分页 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能-limit. 一.limit概述 Limit是 ...
- Sublime Text 修改默认语言为Python
Sublime Text 3 修改默认语言为Python 步骤如下 英文:Tools - Developer - New Plugin 中文:工具 - 插件开发 - 新建插件 清空原来内容,用下面的代 ...
- linux重置密码
方法一: 进入grub菜单界面 按e键 在linux开头的行按ctrl+e 或者end跳到行尾,输入rd.break 按ctrl+x mount -o remount,rw /sysroot chro ...
- 元数据性能大比拼:HDFS vs S3 vs JuiceFS
元数据是存储系统的核心大脑,元数据性能对整个大数据平台的性能和扩展能力至关重要.尤其在处理海量文件的时候.在平台任务创建.运行和结束提交阶段,会存在大量的元数据 create,open,rename ...