+ -
当前位置:首页 → 问答吧 → application和wooksheet都有range?

application和wooksheet都有range?

时间:2010-05-15

来源:互联网

标题一问,如是,有何不同?
二问:对象模型wooksheet属于range?

附件

Image0017.JPG(100.1 KB)

2010-5-15 22:57

作者: tzchf   发布时间: 2010-05-15

应该是 Application 和 worksheet 都有 range 属性。

Application 代表的是当前的活动单元格或者是单元格区域。

作者: clarkldq   发布时间: 2010-05-15

只是引用单元格“对象”、表达方式的不同。对于当前工作表,对单元格区域命名为“ppp”,以下几种方式、效果一样:

1、Application.Workbooks("Book1.XLS").Sheets("Sheet1").Range("A1:A9").Name = "ppp"

2、Workbooks("Book1.XLS").Sheets("Sheet1").Range("A1:A9").Name = "ppp"

3、Sheets("Sheet1").Range("A1:A9").Name = "ppp"

4、Range("A1:A9").Name = "ppp"

作者: fsydw   发布时间: 2010-05-16

5、application.Range("A1:A9").Name = "ppp"  如果当前是sheet1,也一样?

作者: tzchf   发布时间: 2010-05-16

引用:
原帖由 tzchf 于 2010-5-16 08:35 发表
5、application.Range("A1:A9").Name = "ppp"  如果当前是sheet1,也一样?
1、如果当前是sheet1,Range("A1:A9")在sheet1中,也是一样的。

2、就是说,针对当前工作的Range("A1:A9"):
    Application.Workbooks("Book1.XLS").Sheets("Sheet1").Range("A1:A9").Name = "ppp"
     红色部分的代码、或其中的任意部分,均可省略。

作者: fsydw   发布时间: 2010-05-16

个人理解:
[Application.]Range([cell1],[cell2])         RANGE的父对象是GLOBAL成员 activesheet
worksheet.Range([Cell1], [Cell2]) range的父对象是英文句点前指定的WORKSHEET, 不一定是 activesheet

Sub test()
    Debug.Print [a1].Parent Is ActiveSheet
    Debug.Print TypeName([a1].Parent)
    Debug.Print [a1].Parent.Name

     Debug.Print Sheets(3).[a1].Parent Is ActiveSheet
  End Sub

作者: livewire   发布时间: 2010-05-16

我在VB调用excel,所以不能那么省略。问题不大。
但被excel的帮助文档的对象模型搞糊涂了(见附图),它的worksheet写在range下面,我的想象是sheet在workbook下面的。

作者: tzchf   发布时间: 2010-05-16

引用:
原帖由 tzchf 于 2010-5-16 10:32 发表
我在VB调用excel,所以不能那么省略。问题不大。
但被excel的帮助文档的对象模型搞糊涂了(见附图),它的worksheet写在range下面,我的想象是sheet在workbook下面的。
这个没有冲突吧。Application、Range、worksheet、workbook 都是平行的独立的对象。
从定义这个角度上看,它们都是平行的,没有谁包含的。只是从大小看,application 包含了workbook, workbook 包含了 worksheet,worksheet 包含了 Range.

所以,Application 的属性中有 range。worksheet 的属性有 range。range 的属性中也有 application 和 worksheet。

作者: clarkldq   发布时间: 2010-05-17

引用:
原帖由 clarkldq 于 2010-5-17 16:55 发表


这个没有冲突吧。Application、Range、worksheet、workbook 都是平行的独立的对象。
从定义这个角度上看,它们都是平行的,没有谁包含的。只是从大小看,application 包含了workbook, workbook 包含了 workshee ...
兄弟,是“对象”、不是“属性”吧???有点迷糊......

作者: fsydw   发布时间: 2010-05-17

引用:
原帖由 fsydw 于 2010-5-17 20:50 发表

兄弟,是“对象”、不是“属性”吧???有点迷糊......
一个类的属性,可以是 string、integer、long、等常见的数据类型,也可以是一个对象啊。

呵呵,这些都是我个人的理解,不知道是否有误。
复制内容到剪贴板
代码:
Excel 开发人员参考
Range.Worksheet 属性
返回一个 Worksheet 对象,该对象表示包含指定区域的工作表。只读。
复制内容到剪贴板
代码:
Excel 开发人员参考
Range.Application 属性
如果不使用对象识别符,则该属性返回一个 Application 对象,该对象表示 Microsoft Excel 应用程序。如果使用对象识别符,则该属性返回一个表示指定对象(可对一个 OLE 自动操作对象使用本属性来返回该对象的应用程序)创建者的 Application 对象。只读。
复制内容到剪贴板
代码:
Excel 开发人员参考
Application.Range 属性
返回一个 Range 对象,它代表一个单元格或单元格区域。
复制内容到剪贴板
代码:
Excel 开发人员参考
Worksheet.Range 属性
返回一个 Range 对象,它代表一个单元格或单元格区域。

作者: clarkldq   发布时间: 2010-05-17

兄弟!很专业啊!这本《Excel 开发人员参考》,哪个出版社的?作者是谁?谢谢!!!!

作者: fsydw   发布时间: 2010-05-17

引用:
原帖由 fsydw 于 2010-5-17 21:05 发表
兄弟!很专业啊!这本《Excel 开发人员参考》,哪个出版社的?作者是谁?谢谢!!!!
呵呵,是EXCEL VBA 帮助啊。兄弟打开EXCEL,按ALT+F11,然后再按 F1,就可以看到。兄弟肯定天天再查这个帮助的。

作者: clarkldq   发布时间: 2010-05-17

谢谢指教!
帮助看起来累啊!!
可是,没有哪本书,比帮助全啊!!!

作者: fsydw   发布时间: 2010-05-17

很好,认真学习中

作者: lantu   发布时间: 2011-08-10

相关阅读 更多

热门下载

更多