Excel VBA教程:选定和激活单元格

使用 Microsoft Excel 时,通常要先选定单元格或单元格区域,然后执行某一操作,如设置单元格的格式或在单元格中输入数值。但在 Visual Basic 中,通常在修改单元格之前不必先选定它们。

例如,如果要用 Visual Basic 在单元格 D6 中输入公式,就不必先选定单元格 D6,而只需返回 Range对象,然后将该对象的 Formula属性设置为所需的公式,如下例所示。


Sub EnterFormula()
    Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)"
End Sub

有关使用其他方法在不选定单元格的情况下对其进行控制的示例,请参阅如何引用单元格和区域

使用 Select方法和 Selection属性

Select方法激活工作表和工作表上的对象;而 Selection属性返回代表活动工作簿中活动工作表上的当前选定区域的对象。在成功使用 Selection属性之前,必须先激活工作簿,并激活或选定工作表,然后用 Select方法选定单元格区域(或其他对象)。

宏录制器经常创建使用 Select方法和 Selection属性的宏。下述 Sub 过程是用宏录制器创建的,该过程演示了 Select方法和 Selection属性在一起使用的方法。


Sub Macro1()
    Sheets("Sheet1").Select
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Name"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Address"
    Range("A1:B1").Select
    Selection.Font.Bold = True
End Sub

下例完成同样的任务,但不激活或选定工作表或单元格。


Sub Labels()
    With Worksheets("Sheet1")
        .Range("A1") = "Name"
        .Range("B1") = "Address"
        .Range("A1:B1").Font.Bold = True
    End With
End Sub

选定活动工作表上的单元格

如果用 Select方法选定单元格,应注意 Select方法仅用于活动工作表。如果从模块中运行 Sub 过程,必须先在该过程中激活工作表,然后才能用 Select方法选定单元格区域,否则该方法将失败。例如,下述过程在活动工作簿中将 Sheet1 中的一行复制到 Sheet2 上。


Sub CopyRow()
    Worksheets("Sheet1").Rows(1).Copy
    Worksheets("Sheet2").Select
    Worksheets("Sheet2").Rows(1).Select
    Worksheets("Sheet2").Paste
End Sub

激活选定区域内的单元格

可用 Activate方法激活选定区域内的单元格。即使选定了单元格区域,也只能有一个活动单元格。下述过程选定了一个单元格区域,然后激活该区域内的一个单元格,但并不改变选定区域。


Sub MakeActive()
    Worksheets("Sheet1").Activate
    Range("A1:D4").Select
    Range("B2").Activate
End Sub

上页:Excel VBA教程:将文档保存为 Web 页 下页:Excel VBA教程:代码运行时使用控件值

Excel VBA教程:选定和激活单元格

Excel VBA教程:代码运行时使用控件值 Excel VBA教程:设置控件属性
Excel VBA教程:在工作表上使用 ActiveX 控件 Excel VBA教程:Application对象事件的用法
Excel VBA教程:嵌入图表事件的用法 Excel VBA教程:在文档中使用 ActiveX 控件
Excel VBA教程:使用 Microsoft Excel对象事件的方法 Excel VBA教程:在窗体上使用 Microsoft Office Web 组件
Excel VBA教程:QueryTable对象事件的用法 Excel VBA教程:在 Visual Basic 中使用 Microsoft Excel 工作表函数
Excel VBA教程:工作簿对象事件 Excel VBA教程:处理三维区域
Excel VBA教程:处理图形(绘图对象) Excel VBA教程:处理活动单元格
Excel VBA教程:Worksheet对象事件 Excel VBA教程:页眉和页脚的格式代码
Excel VBA教程:ActiveX 控件 Excel VBA教程:“帮助”主题不可用
Excel VBA教程:“帮助”主题不可用 Excel VBA教程:“帮助”主题不可用
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号