(转)Excel编程概念之:【单元格和区域】三、选定和激活单元格

来源:互联网 发布:c语言continue的流程图 编辑:程序博客网 时间:2024/05/20 04:47

转自:http://hi.baidu.com/imecho/blog/item/a70acd3d947ba302bba16713.html

 

选定和激活单元格

使用 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

原创粉丝点击