立即注冊 找回密碼

QQ登錄

只需一步,快速開始

查看: 3707|回復: 0
打印 上一主題 下一主題

[Excel VBA 2013視頻教程] 04-對象、屬性、方法,事件的相關介紹

[復制鏈接]

46

主題

0

回帖

982

積分

大學三年級

Rank: 4

積分
982
跳轉到指定樓層
樓主
發(fā)表于 2017-9-20 00:47:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
道勤網-數(shù)據(jù)bmrsportswear.com
本帖最后由 excel交流 于 2017-9-20 01:02 編輯

         1、對象及對象層次結構
        對象就是存在的東西,是VBA處理的內容,包括工作薄、工作表、工作表上的單元格區(qū)域、圖表等等。
----------
    集合這個概念經常遇到,我理解的集合是對相同類型的對象的統(tǒng)稱。    某中學有5000個學生,名字各不相同,我們對他都統(tǒng)稱為某中學的學生,而不和一一去叫他們的名字,"某中學的學生"在這里是集合。

    對象的引用,在Excel里,Workbooks集合包含在Application對象里,當我們要引用某工作薄的時候,要遵循從大到小的規(guī)則。跟表示硬盤里的某個文件的位置一樣,比如我們想引用D盤“我的文檔”文件夾下的名為“我的VBA課程.doc”文件時要輸入的是:
             D:\我的文檔\我的VBA課程.doc
    同樣,如果我們要引用名稱為“mybook.xls”的工作薄時就是:
            Application.Workbooks(“mybook.xls”)
    和引用文件不同的是,VBA里使用的分隔符是點。
    同理,當我們引用“mybook.xls”里面的工作表“mysheet”時應是:
            Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”)

    可以繼續(xù)延伸到下一層,引用“mybook.xls”里工作表“mysheet”里面的單元格區(qū)域“A110”:
            Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”).Range(“A110”)

    但是并不是每一次引用都必須這么呆板,就像豬八戒不用每一次都去爬下水管道。如果我們引用的是活動對象,也就是被激活的對象,引用就可以進行簡化。
    如果是mybook工作薄是激活的,引用可以簡化為
       Worksheets(“mysheet”).Range(“A110”)

    如果mysheet當前也是激活的,引用甚至還可以簡化為Range(“A110”) ,也可以直接輸入[A110] ,如果引用的單元Range是單個的單元格,還可以用Cells(行號,列號)的引用方式。
  2、屬性
      每一個對象都有屬性,一個屬性就是對一個對象的一個設置。
      豬八戒背著媳婦高秀蘭回自己的紫云洞,豬八戒的媳婦就是對象,“高秀蘭”就是豬八戒的媳婦的一個屬性(name屬性),引用對象的屬性同樣也要用點來分隔。
     豬八戒的媳婦.name=高秀蘭

     別閑著,還是動動你的右手,打開一個工作表,Alt+F11(千萬別說你不知道這個快捷鍵是干什么,要不我保證被你氣個半死),如果立即窗口沒有打開,按Ctrl+G打開,在里面輸入:
  1. Msgbox Worksheets(1).name
復制代碼

Worksheets(1)和Worksheets(“sheet1”)有什么區(qū)別?
      Worksheets(1)表示Worksheets集合里的第一個工作表。
      Worksheets(“sheet1”)表示Worksheets集合里名為"sheet1"的工作表。

     至于Msgbox是什么,那就自己問Help了,在立即窗口里用鼠標左鍵把Msgbox抹黑,按F1,就彈出Help里對它的說明了。
    抹黑代碼,再按F1即可看到相應的幫助

  一個對象有哪些屬性我們可以在屬性窗口里查看,要修改一個對象的某種屬性,如名稱、顯示狀態(tài)、顏色等等,也可以在屬性窗口里進行修改,當然我們還可以利用代碼進行修改。改當前工作薄里的第三個工作表的名稱為“這個名字是我用VBA改的”,想想怎么寫代碼?
      把你的代碼輸在立即窗口里,回車,看看效果,你做到了嗎?
-----------------------------------------------------------------------------------
  3、方法
    每一個對象都有方法,方法就是在對象上執(zhí)行的某個動作。  
    和屬性相比,屬性表示的是對象某種狀態(tài)或樣子,是靜態(tài)的,就像是語文里的名詞、形容詞和副詞,而方法則是做某件事的一個動作,就像動詞,對象和方法同樣用點來分隔。
    例如Range對象有有一個方法是Select,他的作用是選中指定的Range(單元格區(qū)域)對象,在立即窗口里輸入代碼:
    回車,可以看到D1:F10已經被選中了。

 4、事件
      在上一面豬八戒按門鈴那里,我們已經接觸過什么是事件了。
      簡單點說,件就是由用戶或者系統(tǒng)觸發(fā)的,可以在代碼中響應的一段代碼。比如,當我們移動鼠標,打開工作薄,激活工作表,選中單元格,改變單元格的數(shù)值,點擊按鈕或窗體,敲擊鍵盤等等這些都會產生一系列的事件,通過編寫代碼響應這些事件,當發(fā)生此類事件時,程序代碼就會進行相應的操作。
      這樣解釋你會不會有些暈?感覺又一次進入了外星人的世界?還是舉例說明,我們需要當激活某工作表的時候,自動彈出一個對話框,告訴我們激活的工作表的名稱。
       (1)打開一個工作表,Alt+F11打開VBE窗口,在“工程對象管理器”窗口里雙擊你要進行設置的工作表,使其代碼窗口顯示。               
       (2)左面選擇對象Worksheet(工作表對象),右面選擇Activate事件,我們可以看到在代碼窗口里系統(tǒng)已經為我們自動輸入了一段代碼。


  1. Private Sub Worksheet_Activate()

  2. End Sub
復制代碼

廢話說完,再回到問題里:
  要達到問題的目的,我們只需要在已給我們列出的兩段代碼中間加入需要進行操作的代碼就可以了,這里我們需要的是一個對話框來提醒,對了,還記得Msgbox吧?
     輸入代碼:
  1. MsgBox "你現(xiàn)在激活的工作表名稱是:" & ActiveSheet.Name
復制代碼

看一下上面的代碼,對象和事件之間用什么來分隔?還是不是點?


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

x
dsu_marcocopyright:copy_link 

【道勤網】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網站設計教程!【道勤網】 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
2、本站所有主題由該帖子作者發(fā)表,該帖子作者與【道勤網】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網站設計教程!【道勤網】享有帖子相關版權
3、其他單位或個人使用、轉載或引用本文時必須同時征得該帖子作者和【道勤網】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網站設計教程!【道勤網】的同意
4、帖子作者須承擔一切因本文發(fā)表而直接或間接導致的民事或刑事法律責任
5、本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、【道勤網】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網站設計教程!【道勤網】管理員和版主有權不事先通知發(fā)貼者而刪除本文

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關閉

道勤網- 推薦內容!上一條 /2 下一條

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回復 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

關于我們|手機版|小黑屋|地圖|【道勤網】-bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網站設計教程【道勤網】 ( 皖ICP備15000319號-1 )

GMT+8, 2024-10-23 07:23

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回復 返回頂部 返回列表