【转载】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高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
随机推荐
- H5与APP的交互框架(WebViewJavascriptBridge)
基本原理是: 把 OC 的方法注册到桥梁中,让 JS 去调用. 把 JS 的方法注册在桥梁中,让 OC 去调用.(注册自己,调用它人.) WebViewJavaScriptBridge 使用的基本步骤 ...
- POJ3041 小行星 (二分图匹配模板)
学了这么久连模板都没有写过,我来补个坑...... 将行看成集合X,列看成Y,障碍看成是X到Y的一条边. 消除次数最少,等价于最小点覆盖问题,最小点覆盖=最大匹配数,跑一遍匈牙利就行了 #includ ...
- P4047 [JSOI2010]部落划分 方法记录
原题链接 [JSOI2010]部落划分 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常 ...
- 关于javascript:void(0) 在不用的浏览器当中的表现
原因在于三款浏览器,对三个属性的处理顺序不同. Chrome顺序:onclick -> href -> target IE和Firefox顺序:onclick -> target - ...
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(29)-Fiddler如何抓取Android7.0以上的Https包-终篇
1.简介 上一篇宏哥介绍的Xposed是一款可以在不修改APK的情况下影响程序运行的框架.可以编写并加载自己编写的插件app,实现对目标apk的注入.拦截等.一般研究移动安全的都会使用Xposed. ...
- CSS 属性选择器 ~=, |=, ^=, $=, *= 的区别
CSS 属性选择器 ~=, |=, ^=, $=, *= 的区别 总结: "value 是完整单词" 类型的比较符号: ~=, |= "拼接字符串" 类型的比较 ...
- visual studio插件开发-Menu
工欲善其事,必先利其器,作为程序员我们很大部分时间在和ide打交道,好的插件可以大大提高我们的编程效率,我开发过几个vs插件来解决一键生成dbmodels,快速部署到服务器,总结下来最关键的还是对于M ...
- 六、dockerfile
一.什么是镜像 镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加. 根据上 ...
- maven的下载、安装、配置,idea中配置Maven
下载 下载链接: 点击下载地址 : 找到:对应版本的包下载 安装 下载后的压缩包解压出来,然后将解压后的包放到日常安装软件的位置即安装成功,当然取决于个人意愿,也可以不移动. 打开安装包后的目录结构简 ...
- Python基础之函数:3、多层语法糖、装饰器和装饰器修复技术及递归函数
目录 一.多层语法糖 1.什么是多层语法糖: 2.多层语法糖用法: 二.有参装饰器 1.什么是有参装饰器: 2.有参装饰器的作用: 三.装饰器修复技术 1.什么是装饰器修复技术: 四.递归函数 1.什 ...