Excel VBA Range对象基本操作应用示例.docx

上传人:b****1 文档编号:2311384 上传时间:2023-05-03 格式:DOCX 页数:18 大小:20.02KB
下载 相关 举报
Excel VBA Range对象基本操作应用示例.docx_第1页
第1页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第2页
第2页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第3页
第3页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第4页
第4页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第5页
第5页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第6页
第6页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第7页
第7页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第8页
第8页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第9页
第9页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第10页
第10页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第11页
第11页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第12页
第12页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第13页
第13页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第14页
第14页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第15页
第15页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第16页
第16页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第17页
第17页 / 共18页
Excel VBA Range对象基本操作应用示例.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Excel VBA Range对象基本操作应用示例.docx

《Excel VBA Range对象基本操作应用示例.docx》由会员分享,可在线阅读,更多相关《Excel VBA Range对象基本操作应用示例.docx(18页珍藏版)》请在冰点文库上搜索。

Excel VBA Range对象基本操作应用示例.docx

ExcelVBARange对象基本操作应用示例

ExcelVBARange对象基本操作应用示例  

2011-03-0211:

41:

43|  分类:

Excel技巧|  标签:

|举报|字号大中小 订阅

[示例01]赋值给某单元格

[示例01-01]

Subtest1()

Worksheets("Sheet1").Range("A5").Value=22

MsgBox"工作表Sheet1内单元格A5中的值为"_

&Worksheets("Sheet1").Range("A5").Value

EndSub

[示例01-02]

Subtest2()

Worksheets("Sheet1").Range("A1").Value=_

Worksheets("Sheet1").Range("A5").Value

MsgBox"现在A1单元格中的值也为"&_

Worksheets("Sheet1").Range("A5").Value

EndSub

[示例01-03]

Subtest3()

MsgBox"用公式填充单元格,本例为随机数公式"

Range("A1:

H8").Formula="=Rand()"

EndSub

[示例01-04]

Subtest4()

Worksheets

(1).Cells(1,1).Value=24

MsgBox"现在单元格A1的值为24"

EndSub

[示例01-05]

Subtest5()

MsgBox"给单元格设置公式,求B2至B5单元格区域之和"

ActiveSheet.Cells(2,1).Formula="=Sum(B1:

B5)"

EndSub

[示例01-06]

Subtest6()

MsgBox"设置单元格C5中的公式."

Worksheets

(1).Range("C5:

C10").Cells(1,1).Formula="=Rand()"

EndSub

--------------------------------------

[示例02]引用单元格

SubRandom()

DimmyRangeAsRange

'设置对单元格区域的引用

SetmyRange=Worksheets("Sheet1").Range("A1:

D5")

'对Range对象进行操作

myRange.Formula="=RAND()"

myRange.Font.Bold=True

EndSub

示例说明:

可以设置Range对象变量来引用单元格区域,然后对该变量所代表的单元格区域进行操作。

--------------------------------------

[示例03]清除单元格

[示例03-01]清除单元格中的内容(ClearContents方法)

SubtestClearContents()

MsgBox"清除指定单元格区域中的内容"

Worksheets

(1).Range("A1:

H8").ClearContents

EndSub

[示例03-02]清除单元格中的格式(ClearFormats方法)

SubtestClearFormats()

MsgBox"清除指定单元格区域中的格式"

Worksheets

(1).Range("A1:

H8").ClearFormats

EndSub

[示例03-03]清除单元格中的批注(ClearComments方法)

SubtestClearComments()

MsgBox"清除指定单元格区域中的批注"

Worksheets

(1).Range("A1:

H8").ClearComments

EndSub

[示例03-04]清除单元格中的全部,包括内容、格式和批注(Clear方法)

SubtestClear()

MsgBox"彻底清除指定单元格区域"

Worksheets

(1).Range("A1:

H8").Clear

EndSub

--------------------------------------

[示例04]Range和Cells

Subtest()

'设置单元格区域A1:

J10的边框线条样式

WithWorksheets

(1)

.Range(.Cells(1,1),_

.Cells(10,10)).Borders.LineStyle=xlThick

EndWith

EndSub

示例说明:

可用Range(cell1,cell2)返回一个Range对象,其中cell1和cell2为指定起始和终止位置的Range对象。

--------------------------------------

[示例05]选取单元格区域(Select方法)

SubtestSelect()

'选取单元格区域A1:

D5

Worksheets("Sheet1").Range("A1:

D5").Select

EndSub

--------------------------------------

[示例06]基于所选区域偏离至另一区域(Offset属性)

[示例06-01]

SubtestOffset()

Worksheets("Sheet1").Activate

Selection.Offset(3,1).Select

EndSub

示例说明:

可用Offset(row,column)(其中row和column为行偏移量和列偏移量)返回相对于另一区域在指定偏移量处的区域。

如上例选定位于当前选定区域左上角单元格的向下三行且向右一列处单元格区域。

[示例06-02]选取距当前单元格指定行数和列数的单元格

SubActiveCellOffice()

MsgBox"显示距当前单元格第3列、第2行的单元格中的值"

MsgBoxActiveCell.Offset(3,2).Value

EndSub

--------------------------------------

[示例07]调整区域的大小(Resize属性)

SubResizeRange()

DimnumRowsAsInteger,numcolumnsAsInteger

Worksheets("Sheet1").Activate

numRows=Selection.Rows.Count

numcolumns=Selection.Columns.Count

Selection.Resize(numRows+1,numcolumns+1).Select

EndSub

示例说明:

本示例调整所选区域的大小,使之增加一行一列。

--------------------------------------

[示例08]选取多个区域(Union方法)

SubtestUnion()

Dimrng1AsRange,rng2AsRange,myMultiAreaRangeAsRange

Worksheets("sheet1").Activate

Setrng1=Range("A1:

B2")

Setrng2=Range("C3:

D4")

SetmyMultiAreaRange=Union(rng1,rng2)

myMultiAreaRange.Select

EndSub

示例说明:

可用Union(range1,range2,...)返回多块区域,即该区域由两个或多个连续的单元格区域所组成。

如上例创建由单元格区域A1:

B2和C3:

D4组合定义的对象,然后选定该定义区域。

--------------------------------------

[示例09]激活已选区域中的单元格

SubActivateRange()

MsgBox"选取单元格区域B2:

D6并将C4选中"

ActiveSheet.Range("B3:

D6").Select

Range("C5").Activate

EndSub

--------------------------------------

[示例10]选取指定条件的单元格(SpecialCells方法)

SubSelectSpecialCells()

MsgBox"选择当前工作表中所有公式单元格"

ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select

EndSub

--------------------------------------

[示例11]选取矩形区域(CurrentRegion属性)

'选取包含当前单元格的矩形区域

'该区域周边为空白行和空白列

SubSelectCurrentRegion()

MsgBox"选取包含当前单元格的矩形区域"

ActiveCell.CurrentRegion.Select

EndSub

--------------------------------------

[示例12]选取当前工作表中已用单元格(UsedRange属性)

'选取当前工作表中已使用的单元格区域

SubSelectUsedRange()

MsgBox"选取当前工作表中已使用的单元格区域"_

&vbCrLf&"并显示其地址"

ActiveSheet.UsedRange.Select

MsgBoxActiveSheet.UsedRange.Address

EndSub

--------------------------------------

[示例13]选取最边缘单元格(End属性)

'选取最下方的单元格

SubSelectEndCell()

MsgBox"选取当前单元格区域内最下方的单元格"

ActiveCell.End(xlDown).Select

EndSub

示例说明:

可以改变参数xlDown以选取最左边、最右边、最上方的单元格。

--------------------------------------

[示例14]设置当前单元格的前一个单元格和后一个单元格的值

SubSetCellValue()

MsgBox"将当前单元格中前面的单元格值设为""我前面的单元格"""&vbCrLf_

&"后面的单元格值设为""我后面的单元格"""

ActiveCell.Previous.Value="我前面的单元格"

ActiveCell.Next.Value="我后面的单元格"

EndSub

--------------------------------------

[示例15]确认所选单元格区域中是否有公式(HasFormula属性)

SubIfHasFormula()

IfSelection.HasFormula=TrueThen

MsgBox"所选单元格中都有公式"

Else

MsgBox"所选单元格中,部分单元格没有公式"

EndIf

EndSub

--------------------------------------

[示例16]公式单元格操作

[示例16-01]获取与运算结果单元格有直接关系的单元格

SubCalRelationCell()

MsgBox"选取与当前单元格的计算结果相关的单元格"

ActiveCell.DirectPrecedents.Select

EndSub

[示例16-02]追踪公式单元格

SubCal1()

MsgBox"选取计算结果单元格相关的所有单元格"

ActiveCell.Precedents.Select

EndSub

SubTrackCell()

MsgBox"追踪运算结果单元格"

ActiveCell.ShowPrecedents

EndSub

SubDelTrack()

MsgBox"删除追踪线"

ActiveCell.ShowPrecedentsRemove:

=True

EndSub

--------------------------------------

[示例17]复制单元格(Copy方法)

SubCopyRange()

MsgBox"在单元格B7中写入公式后,将B7的內容复制到C7:

D7內"

Range("B7").Formula="=Sum(B3:

B6)"

Range("B7").CopyDestination:

=Range("C7:

D7")

EndSub

--------------------------------------

[示例18]获取单元格行列值(Row属性和Column属性)

SubRangePosition()

MsgBox"显示所选单元格区域的行列值"

MsgBox"第"&Selection.Row&"行"&Selection.Column&"列"

EndSub

--------------------------------------

[示例19]获取单元格区域的单元格数及行列数(Rows属性、Columns属性和Count属性)

SubGetRowColumnNum()

MsgBox"显示所选取单元格区域的单元格数、行数和列数"

MsgBox"单元格区域中的单元格数为:

"&Selection.Count

MsgBox"单元格区域中的行数为:

"&Selection.Rows.Count

MsgBox"单元格区域中的列数为:

"&Selection.Columns.Count

EndSub

--------------------------------------

[示例20]设置单元格中的文本格式

[示例20-01]对齐文本

SubHorizontalAlign()

MsgBox"将所选单元格区域中的文本左右对齐方式设为居中"

Selection.HorizontalAlignment=xlHAlignCenter

EndSub

SubVerticalAlign()

MsgBox"将所选单元格区域中的文本上下对齐方式设为居中"

Selection.RowHeight=36

Selection.VerticalAlignment=xlVAlignCenter

EndSub

[示例20-02]缩排文本(InsertIndent方法)

SubIndent()

MsgBox"将所选单元格区域中的文本缩排值加1"

Selection.InsertIndent1

MsgBox"将缩排值恢复"

Selection.InsertIndent-1

EndSub

[示例20-03]设置文本方向(Orientation属性)

SubChangeOrientation()

MsgBox"将所选单元格中的文本顺时针旋转45度"

Selection.Orientation=45

MsgBox"将文本由横向改为纵向"

Selection.Orientation=xlVertical

MsgBox"将文本方向恢复原值"

Selection.Orientation=xlHorizontal

EndSub

[示例20-04]自动换行(WrapText属性)

SubChangeRow()

Dimi

MsgBox"将所选单元格设置为自动换行"

i=Selection.WrapText

Selection.WrapText=True

MsgBox"恢复原状"

Selection.WrapText=i

EndSub

[示例20-05]将比单元格列宽长的文本缩小到能容纳列宽大小(ShrinkToFit属性)

SubAutoFit()

Dimi

MsgBox"将长于列宽的文本缩到与列宽相同"

i=Selection.ShrinkToFit

Selection.ShrinkToFit=True

MsgBox"恢复原状"

Selection.ShrinkToFit=i

EndSub

--------------------------------------

[示例21]设置条件格式(FormatConditions属性)

SubFormatConditions()

MsgBox"在所选单元格区域中将单元格值小于10的单元格中的文本变为红色"

Selection.FormatConditions.AddType:

=xlCellValue,_

Operator:

=xlLessEqual,Formula1:

="10"

Selection.FormatConditions

(1).Font.ColorIndex=3

MsgBox"恢复原状"

Selection.FormatConditions

(1).Font.ColorIndex=xlAutomatic

EndSub

--------------------------------------

[示例22]插入批注(AddComment方法)

SubEnterComment()

MsgBox"在当前单元格中输入批注"

ActiveCell.AddComment("Hello")

ActiveCell.Comment.Visible=True

EndSub

--------------------------------------

[示例23]隐藏/显示单元格批注

SubCellComment()

MsgBox"切换当前单元格批注的显示和隐藏状态"

ActiveCell.Comment.Visible=Not(ActiveCell.Comment.Visible)

EndSub

--------------------------------------

[示例24]改变所选单元格的颜色

SubChangeColor()

DimiroAsInteger

MsgBox"将所选单元格的颜色改为红色"

iro=Selection.Interior.ColorIndex

Selection.Interior.ColorIndex=3

MsgBox"将所选单元格的颜色改为蓝色"

Selection.Interior.Color=RGB(0,0,255)

MsgBox"恢复原状"

Selection.Interior.ColorIndex=iro

EndSub

--------------------------------------

[示例25]改变单元格的图案

SubChangePattern()

Dimp,pc,i

MsgBox"依Pattern常数值的顺序改变所选单元格的图案"

p=Selection.Interior.Pattern

pc=Selection.Interior.PatternColorIndex

Fori=9To16

WithSelection.Interior

.Pattern=i

.PatternColor=RGB(255,0,0)

EndWith

MsgBox"常数值"&i

Nexti

MsgBox"恢复原状"

Selection.Interior.Pattern=p

Selection.Interior.PatternColorIndex=pc

EndSub

--------------------------------------

[示例26]合并单元格

SubMergeCells()

MsgBox"合并单元格A2:

C2,并将文本设为居中对齐"

Range("A2:

C2").Select

WithSelection

.MergeCells=True

.HorizontalAlignment=xlCenter

EndWith

EndSub

--------------------------------------

[示例27]限制单元格移动的范围

SubScrollArea1()

MsgBox"将单元格的移动范围限制在单元格区域B2:

D6中"

ActiveSheet.ScrollArea="B2:

D6"

EndSub

SubScrollArea2()

MsgBox"解除移动范围限制"

ActiveSheet.ScrollArea=""

EndSub

--------------------------------------

[示例28]获取

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2