#001 Sub RngReplace()
#002 Range("A1:A5").Replace "通州", "南通"
#003 End Sub

代码解析:
RngReplace过程将事情表A1:A5单元格中的“通州”字符串更换成“南通”字符串。
运用于Range工具的Replace方法更换指定区域内单元格中的字符,语法如下:
expression.Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
个中参数expression是必需的,返回一个Range工具。
参数What是必需的,要搜索的字符串。
参数Replacement是必需的,更换的字符串。
运行RngReplace过程前事情表如图 61所示,运行RngReplace过程后结果如图 62所示。
图 61 更换前单元格
图 62 更换后单元格
技巧 复制单元格区域在实际操作中,常常须要复制指定的单元格区域到其余一个单元格区域。要复制指定单元格区域到其他位置,利用Range工具的Copy方法,如下面的代码所示。
#001 Sub RangeCopy()
#002 Application.DisplayAlerts = False
#003 Sheet1.Range("A1").CurrentRegion.Copy Sheet2.Range("A1")
#004 Application.DisplayAlerts = True
#005 End Sub
代码解析:
RangeCopy过程将如图 71所示的Sheet1事情表中A1单元格确当前区域复制到Sheet2事情表中以A1单元格为左上角单元格的区域,如图 72所示。
图 71 需复制的数据表
图 72 复制结果
Range工具的Copy方法的语法如下:
Copy(Destination)
参数Destination表示复制单元格区域的目标区域,如果省略该参数,Excel将把该区域复制到剪贴板中。
利用Copy方法复制单元格区域时,也复制了该单元格区域的格式,如图 72所示。
复制单元格区域时,如果目标区域为非空单元格区域,Excel将显示如图 73所示的框提示是否更换单元格内容,可以设置Application.DisplayAlerts属性值为False,使复制时不涌现该框。
图 73 更换对话框
第2行代码常日复制单元格区域的操作不会将单元格区域的列宽大小同时复制,如图 72所示。如果希望在复制单元格区域的同时,也复制源区域的列宽大小,可以利用下面的代码。
#001 Sub CopyWithSameColumnWidths()
#002 Sheet1.Range("A1").CurrentRegion.Copy
#003 With Sheet3.Range("A1")
#004 .PasteSpecial xlPasteColumnWidths
#005 .PasteSpecial xlPasteAll
#006 End With
#007 Application.CutCopyMode = False
#008 End Sub
代码解析:
第4行代码利用Range工具的PasteSpecial方法选择性粘贴剪贴板中的Range工具的列宽。
第5行代码粘贴剪贴板中的Range工具全部内容。
第7行代码取消运用程序复制模式。
运用于Range工具的PasteSpecial方法将剪贴板中的Range工具粘贴到指定区域,在粘贴时可以有选择的粘贴工具的部分属性。其语法如下:
PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
参数Paste指定要粘贴的区域部分,可为表格 71所列的XlPasteType常量之一。
常量
值
描述
xlPasteAll
-4104
全部(默认值)
xlPasteAllExceptBorders
7
边框除外
xlPasteColumnWidths
8
列宽
xlPasteComments
-4144
批注
xlPasteFormats
-4122
格式
xlPasteFormulas
-4123
公式
xlPasteFormulasAndNumberFormats
11
公式和数字格式
xlPasteValidation
6
有效性验证
xlPasteValues
-4163
数值
xlPasteValuesAndNumberFormats
12
值和数字格式
表格 71 XlPasteType 常量
参数Operation指定粘贴操作。可为表格 72所列的XlPasteSpecialOperation常量之一。
常量
值
描述
xlPasteSpecialOperationNone
-4142
无(默认值)
xlPasteSpecialOperationAdd
2
加
xlPasteSpecialOperationSubtract
3
减
xlPasteSpecialOperationMultiply
4
乘
xlPasteSpecialOperationDivide
5
除
表格 72 XlPasteSpecialOperation常量
参数SkipBlanks指示是否跳过空单元格,若参数值为True,则不将剪贴板上区域中的空缺单元格粘贴到目标区域中。默认值为False。
参数Transpose指示是否进行转置,若参数值为True,则粘贴区域时转置行和列。默认值为False。
运行CopyWithSameColumnWidths过程后,Sheet3事情表如图 74所示,目标区域的各列列宽与源区域同等。
图 74 粘贴列宽后的复制结果
把稳 利用PasteSpecial方法时指定xlPasteAll(粘贴全部),不会粘贴列宽。