Excel对象模型中,Application下的Range指的是什么?那Range下的Worksheet指的是什么?请赐教呀         在线等

解决方案 »

  1.   

    都是指的单元格.只不过在 Application 及其它下面的 Range 指当前工程 当前窗体 当前工作本 下面的单元格.
      

  2.   

    可是使用activesheet也可以引用到这些单元格啊   不是多此一举
      

  3.   

    比如:以下代码:dim xlApp1 as new ApplicationxlApp1.Range("$A$1") '为第一个打开的Excel文档,当前打开的文件,当前 Sheet 的A1 单元格
    xlApp1.WorkBook(1).Range("$A$1") '为第一个打开的Excel文档,第一个文件(未必是当前文件),当前 Sheet 的A1 单元格而 activeWorkBook activesheet 是因为 要取得当前打开的文件或当前的工作本而产生的属性. 因为activeWorkBook activesheet 是一个 WorkBook 类,而WorkBook类本来就有 Range 属性.进行了类的继承,因此他们也有了 range 属性.
      

  4.   

    activeWorkBook,activesheet是属性,返回值分别是workbook,worksheet类型的对象
    WorkBook 类中定义的有range类型的变量,由range属性返回Appliaction类中有Range属性,它返回Range类型的变量。该变量指向当前活动的worksheet对象(这句话是你的意思吧?) Application类中有activesheet属性,他返回的也是当前活动的worksheet对象这样子,Application类中有两个属性返回的都是一个对象,这样似乎不好解释通。我很想知道为什么不好意思,这样较真,我也是没有办法
      

  5.   

    Appliaction类中有Range属性,它返回Range类型的变量。该变量指向当前活动的worksheet对象 的单元格Application类中有activesheet属性,他返回的也是当前活动的worksheet对象 
      

  6.   

    Excel 开发人员参考 
    Range 对象 
    代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。
    说明
    示例部分中说明了以下用于返回 Range 对象的属性和方法:Range 属性 
    Cells 属性 
    Range 和 Cells 
    Offset 属性 
    Union 方法 示例
    使用 Range(arg)(其中 arg 为区域名称)可返回一个代表单个单元格或单元格区域的 Range 对象。下例将单元格 A1 中的值赋给单元格 A5。Visual Basic for Applications 
    Worksheets("Sheet1").Range("A5").Value = _
        Worksheets("Sheet1").Range("A1").Value 下例通过为区域 A1:H8 中的每个单元格设置公式,用随机数字填充该区域。如果在不带对象识别符(句点左边的对象)的情况下使用 Range 属性,该属性会返回活动表上的一个区域。如果活动表不是工作表,则该方法失败。在使用没有显式对象识别符的 Range 属性之前,请先使用 Activate 方法激活一个工作表。Visual Basic for Applications 
    Worksheets("Sheet1").Activate
    Range("A1:H8").Formula = "=Rand()"    'Range is on the active sheet 下例清除区域名为“Criteria”的区域中的内容。  注释 
    如果用文本参数指定区域地址,必须以 A1 样式记号指定该地址(不能用 R1C1 样式记号)。 Visual Basic for Applications 
    Worksheets(1).Range("Criteria").ClearContents 使用 Cells(row, column)(其中 row 是行号,column 是列标)可返回一个单元格。下例将单元格 A1 赋值为 24。Visual Basic for Applications 
    Worksheets(1).Cells(1, 1).Value = 24 下例设置单元格 A2 的公式。Visual Basic for Applications 
    ActiveSheet.Cells(2, 1).Formula = "=Sum(B1:B5)" 虽然也可用 Range("A1") 返回单元格 A1,但有时用 Cells 属性更为方便,因为对行或列使用变量。下例在 Sheet1 上创建行号和列标。注意,当工作表激活以后,使用 Cells 属性时不必明确声明工作表(它将返回活动工作表上的单元格)。  注释 
    虽然可用 Visual Basic 字符串函数转换 A1 样式引用,但使用 Cells(1, 1) 记号更为简便(而且也是更好的编程习惯)。 Visual Basic for Applications 
    Sub SetUpTable()
    Worksheets("Sheet1").Activate
    For TheYear = 1 To 5
        Cells(1, TheYear + 1).Value = 1990 + TheYear
    Next TheYear
    For TheQuarter = 1 To 4
        Cells(TheQuarter + 1, 1).Value = "Q" & TheQuarter
    Next TheQuarter
    End Sub 使用 expression.Cells(row, column)(其中 expression 是返回 Range 对象的表达式,row 和 column 是相对于该区域左上角的偏移量)可返回区域中的一部分。下例设置单元格 C5 中的公式。Visual Basic for Applications 
    Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=Rand()" 使用 Range(cell1, cell2)(其中 cell1 和 cell2 是指定起始和终止单元格的 Range 对象)可返回一个 Range 对象。下例设置单元格区域 A1:J10 的边框线条的样式。  注释 
    请注意每个 Cells 属性之前的句点。如果前导的 With 语句应用于 Cells 属性,那么这些句点就是必需的。本示例中,句点指示单元格处于工作表一上。如果没有句点,Cells 属性将返回活动工作表上的单元格。 Visual Basic for Applications 
    With Worksheets(1)
        .Range(.Cells(1, 1), _
            .Cells(10, 10)).Borders.LineStyle = xlThick
    End With 使用 Offset(row, column)(其中 row 和 column 为行偏移量和列偏移量)可返回相对于另一区域在指定偏移量处的区域。下例选定位于当前选定区域左上角单元格的向下三行且向右一列处的单元格。由于必须选定位于活动工作表上的单元格,因此必须先激活工作表。Visual Basic for Applications 
    Worksheets("Sheet1").Activate
      'Can't select unless the sheet is active
    Selection.Offset(3, 1).Range("A1").Select 使用 Union(range1, range2, ...) 可返回多块区域,即该区域由两个或多个连续的单元格区域所组成。下例创建由单元格区域 A1:B2 和 C3:D4 组合定义的对象,然后选定该定义区域。Visual Basic for Applications 
    Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
    Worksheets("sheet1").Activate
    Set r1 = Range("A1:B2")
    Set r2 = Range("C3:D4")
    Set myMultiAreaRange = Union(r1, r2)
    myMultiAreaRange.Select 如果您处理包含多个区域的选定内容,Areas 属性是很有用的。它将多区域选定内容拆分为单个的 Range 对象,然后将对象返回为一个集合。您可以对返回的集合使用 Count 属性,以查找包含多个区域的选定内容,如下例所示。Visual Basic for Applications 
    Sub NoMultiAreaSelection()
        NumberOfSelectedAreas = Selection.Areas.Count
        If NumberOfSelectedAreas > 1 Then
            MsgBox "You cannot carry out this command " & _
                "on multi-area selections"
        End If
    End Sub 
    © 2006 Microsoft Corporation。保留所有权利。请参阅
    Excel 对象模型参考
    Range 对象成员
      

  7.   

    建议完整安装office,里面的帮助远胜于坊间那些“十日通晓×××”之类的书。
      

  8.   

    Excel 开发人员参考 
    Application.Range 属性 
    返回一个 Range 对象,它代表一个单元格或单元格区域。
    语法表达式.Range(Cell1, Cell2)表达式   一个代表 Application 对象的变量。参数名称 必选/可选 数据类型 描述 
    Cell1 必选 Variant 区域名称。必须为采用宏语言的 A1 样式引用。可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括货币符号,但它们会被忽略掉。您可以在区域中任一部分使用局部定义名称。如果使用名称,则假定该名称使用的是宏语言。 
    Cell2 可选 Variant 区域左上角和右下角的单元格。可以是一个包含单个单元格、整列或整行的 Range 对象,或者也可以是一个用宏语言为单个单元格命名的字符串。 说明
    如果在没有对象识别符时使用,则该属性是 ActiveSheet.Range 的快捷方式(它返回活动表的一个区域,如果活动表不是一张工作表,则该属性无效)。当应用于 Range 对象时,该属性与 Range 对象相关。例如,如果选中单元格 C3,那么 Selection.Range("B1") 返回单元格 D3,因为它同 Selection 属性返回的 Range 对象相关。此外,代码 ActiveSheet.Range("B1") 总是返回单元格 B1。
    示例
    此示例将 Sheet1 上 A1 单元格的值设置为 3.14159。Visual Basic for Applications 
    Worksheets("Sheet1").Range("A1").Value = 3.14159 此示例在 Sheet1 的 A1 单元格中创建一个公式。Visual Basic for Applications 
    Worksheets("Sheet1").Range("A1").Formula = "=10*RAND()" 此示例在 Sheet1 上的单元格区域 A1:D10 中进行循环。如果某个单元格的值小于 0.001,则此代码将用 0(零)来取代该值。Visual Basic for Applications 
    For Each c in Worksheets("Sheet1").Range("A1:D10")
        If c.Value < .001 Then
            c.Value = 0
        End If
    Next c 此示例在名为“TestRange”的区域上进行循环,并显示该区域中空白单元格的个数。Visual Basic for Applications 
    numBlanks = 0
    For Each c In Range("TestRange")
        If c.Value = "" Then
            numBlanks = numBlanks + 1
        End If
    Next c
    MsgBox "There are " & numBlanks & " empty cells in this range" 此示例将 Sheet1 中单元格区域 A1:C5 上的字体样式设置为斜体。此示例使用 Range 属性的语法 2。Visual Basic for Applications 
    Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 3)). _
        Font.Italic = True
     
    © 2006 Microsoft Corporation。保留所有权利。请参阅
    Application 对象
    Application 对象成员