對象引用方式總結

來源:互聯網
上載者:User

                                                                        

一、對象的概念

在VBA中,活頁簿,工作表,儲存格,名稱,批註,條件式格式設定,圖形,圖表,透視表,地區等都是對象,對象代表了應用程式中的每個元素。

         在VBE中利用F2彈出物件瀏覽器,在工程/庫下拉式清單中選擇excel,在左邊的類列表中列出了VBA所支援的所有對象。包括其方法和屬性。

         對象是一個實體的物件,具有一些特徵,具有讀取和改變這些特徵的行為,而且在改變其部分特徵時,會自動產生某些預定的反應,特徵稱為屬性,改變特徵行為則為方法,改變屬性的時候引發的反應為事件

         Sheets(“sheet1”).Active  啟用當前表

         ActiveSheet.Name=”我的表”   將當前活動表的名稱更改

二、對象與對象集合

對象是一個應用程式中可操作的元素,對象集合則為一組具有相同性質的對象的集合,例如:工作表sheet1為一個對象,那麼sheets則為集合。Worksheet---worksheets

Name---names  條件式格式設定與條件式格式設定集合formatCondition---formatConditions

儲存格—儲存格集合   cell(行,列)---cells

對象集合有count屬性,而對象則沒有

啟用第二個視窗   Windows(“Books”).select 

同時選擇三個表  sheets(Array(“sheet1”,”sheet2”,”sheet3”)).select

Sheets包含了worksheets的所有工作表對象成員和所有圖表chart對象成員。添加新工作表sheets.Add , , ,xlworksheet

注意:手動操作對象時候。必須先啟用該對象,而在VBA可以向一個非使用中的物件發送指令,設定該對象處於隱藏狀態

三、對象的層次,父物件與子物件

對象是有層次的,上一層稱父物件,下一層為子物件

Expression.Parent 父物件使用parent屬性訪問

儲存格的父物件Range(“A1”).Parent則為工作表對象

ActoveCell.parent.parent 或者使用Range(“A1”)擷取活頁簿對象

四、認識excel所有對象

Excel包含248種對象。太多了。- -,

常用的對象

Workbook                            活頁簿對象

Window                               視窗對象

Worksheet                          工作表對象

Shape                                   繪圖物件

Range                                   儲存格對象

Name                                   名稱對象

Chart                                    繪圖物件

CommandBarPopup         下拉式功能表對象

CommandBar                     工具列按鈕對象

五、對象的標記法

a)        對象的完整引用方式與簡寫

完整引用:在引用對象時將對象以及父物件的父物件錄入,可以準備找到子物件

簡寫則成為相對應用,萬泉受制於滑鼠的活動

b)        利用名稱擷取對象

對繪圖物件預設的命名方式為’圖形類型編號’,插入一個圖片。則為’圖片 1’

Sheet1.Shapes(“圖片 1”).delete  刪除該圖片

c)        重定義繪圖物件的名稱

Sheets(1).shapes(“圖片 1”).Name=”新名稱”

擷取覆蓋地區

Range(Sheets(1).Shapes(“Win XP”).BootomRightCell,Sheets(1).Shapes(“WinXP”).TopLeftCell).address(0 ,0) 
注意名稱的空格半形和全形

d)        利用集合索引擷取對象

Shapes(2) 擷取到

e)        使用中的物件的簡化引用

使用中工作表      ActiveSheet

作用儲存格              ActiveCell

活動活頁簿              ActiveWorkboox

使用中視窗                   ActiveWinodw

f)         利用with語句簡化對象引用

例如:將當前選擇添加黃色背景色

With Selection.Interior

         .Pattern=xlSolid  填充圖案

         .PatternColorIndex=xlAutomatic   圖案顏色

         .Color =65535

         .TintAndShade=0  深淺度

         .PatternTintAndShade=0  對象的單色和底紋圖案

g)        事件中的me對象

如果註冊一個事件,則用me代表當前的對象。如果點擊sheet1則為sheet1對象。點擊sheet2  為啟用狀態則為sheet2

Me.OLEObjects.count  當前工作表的OLE對象總數

h)        儲存格的各種引用

                        i.             Range(“A1”)

                      ii.             Cells(1,1)

                     iii.             [A1]

                     iv.             引用地區  Range(”A1:D1”)

                      v.             Range(“D3:E7”)(1.5).address   結果為$E$3    Rnge(“D3:E7”)(4.4)   $E$4

Range(“D3:E7”)(1,3) 表示地區的一行三列  可為負,左位移和右位移

                     vi.             引用多個地區   Range(“A1:D3,F4,Z1:ZB2”)

                   vii.             引用整行整列    Range(”2:2”) 引用第二行  Range(“2:10”) 二行到十行, Range(“D:d”) D列   Range(“D:z”) D列到Z列結束

                  viii.             Range(Range(“A1”),Range(A2)) 引用A1-A2的地區

                     ix.             Cells(行,列)   如果一個參數  先行後列使用

i)          當前選區和作用儲存格   Selection   ActiveCell 

利用Active 改變選區  活動與當前選區只能用於當前工作表

j)          Names 利用名稱前導參照或地區

Names.Add [A1],[A2:A7] 參數1為各列的標題參數2為標題意外的資料區域

定義名稱後,在名稱管理器中羅列出來

CreateNames(Top.left,bottom,right,) 使用上 左,下,右的標題名稱

定義地區名稱  直接使用Range(名稱) 訪問到

k)        UsedRange和CurrentRegion

Sheet.UsedRange 已用地區,使用過的儲存格範圍

Sheet. CurrentRegion目前範圍,

l)          specialCells               按條件引用地區

儲存格對象. specialCells(儲存格類型[,value])

儲存格類型有兩種:

xlCellTypeAlFormatConditions  任意儲存格類型

xlCellTypeAlValidation  帶有驗證條件的儲存格   -4172

xlCellTypeBlanks                空儲存格                                    -4174

xlCellTypeComments       含注釋的儲存格                       4

xlCellTypeConstants         含常量的儲存格                       -4144

xlCellTypeFormulas          含公式的儲存格                       -4123

xlcellTypeSameFormatConditions   含有相同格式的儲存格                   -4173

xlCellTypeSameValidation        含有相同驗證條件的儲存格                   -4175

xlCellTypeVisible                         所有可見的儲存格       12

m)      CurrentArray   引用數組地區

儲存格是否存在數組,  Range().CurrentArray  如果不是則出錯

n)        Resize 重設地區大小

Resize(RowSize,ColumnSize) 調整指定地區的大小,  行數   列數 如果只有一個參數,則表示將選中地區重設為一行,而列數保持不變

o)        Offset 根據位移量引用地區

Range.Offset(RowOffset,ColumnOffset)  行位移   列位移  都是可選  儲存格對象調用

p)        Union  儲存格的合集

儲存格合計是將多個儲存格或者地區和平為一個地區  是application的對象

Application.union([A2:B2],[D3:G4])  引用新地區

q)        Intersect 儲存格範圍的交集

Application.Intersect([A1:A10],[2:2])  表示第二行的交界處是A2

r)         End : 引用來源區域的地區尾端的儲存格

按下Ctrl+方向鍵迅速將儲存格一直一用地區的邊緣,

Range.End(Direction)

參數列表

XlDown      向下       -4121

xlToleft              向左                   -4159

xlToRight           向右                   -4161

xlUp                    向上                   -4162

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.