24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠

安卓版本:8.7.30 蘋(píng)果版本:8.7.30

開(kāi)發(fā)者:北京正保會(huì)計(jì)科技有限公司

應(yīng)用涉及權(quán)限:查看權(quán)限>

APP隱私政策:查看政策>

HD版本上線:點(diǎn)擊下載>

VBA實(shí)例精解(一)

來(lái)源: 編輯: 2009/06/03 14:41:30  字體:

  【例】在選擇某一個(gè)學(xué)生的成績(jī)的時(shí)候,往往會(huì)發(fā)生錯(cuò)行的情況,而這個(gè)程序可以使您在選擇某一個(gè)成績(jī)時(shí),自動(dòng)顯示該學(xué)生的所有信息。

  代碼如下:

  Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If (Target.Column 1) Then

  Cells(Target.Row, 1).Select

  MsgBox "姓名: " & Me.Cells(Target.Row, 1) & Chr(13) _

  & "語(yǔ)文: " & Me.Cells(Target.Row, 2) & Chr(13) _

  & "數(shù)學(xué): " & Me.Cells(Target.Row, 3) & Chr(13) _

  & "英語(yǔ): " & Me.Cells(Target.Row, 4) & Chr(13) _

  & "物理: " & Me.Cells(Target.Row, 5) & Chr(13) _

  & "化學(xué): " & Me.Cells(Target.Row, 6) & Chr(13) _

  & "地理: " & Me.Cells(Target.Row, 7) & Chr(13) _

  & "歷史: " & Me.Cells(Target.Row, 8) & Chr(13) _

  & "生物: " & Me.Cells(Target.Row, 9) & Chr(13) _

  & "體育: " & Me.Cells(Target.Row, 10) & Chr(13) _

  & "總分: " & Me.Cells(Target.Row, 11) & Chr(13) _

  , vbOKOnly, "提示"

  End If

  End Sub

       程序?qū)崿F(xiàn)后的結(jié)果:

  首先,這個(gè)代碼使用了一條語(yǔ)句,Msgbox,這條語(yǔ)句的作用是調(diào)用一個(gè)消息對(duì)話框,這個(gè)語(yǔ)句帶有三個(gè)參數(shù),各個(gè)參數(shù)之間都用逗號(hào)分隔。

  其次,我們看到該語(yǔ)句的第一個(gè)參數(shù)就占據(jù)了好幾行,那么大家可能會(huì)問(wèn),不是在上一講中提到了VBA識(shí)別判斷是否是一條語(yǔ)句就憑借換行符嗎?那么像這樣在多行中的語(yǔ)句為什么是屬于同一條語(yǔ)句呢?這個(gè)主要是因?yàn)橛袝r(shí)候語(yǔ)句太長(zhǎng),如果在一行寫(xiě)可能會(huì)導(dǎo)致格式混亂且不容易閱讀和理解,所以我們就使用下劃線(即:“_”)來(lái)將未寫(xiě)完的代碼轉(zhuǎn)到下一行繼續(xù)寫(xiě),并告訴系統(tǒng),該語(yǔ)句在這行沒(méi)有結(jié)束,下行還是屬于該語(yǔ)句的內(nèi)容。讓我們仔細(xì)看看第一個(gè)參數(shù)的內(nèi)容,總體上是一個(gè)字符串,該字符串由個(gè)部分構(gòu)成,每個(gè)部分占據(jù)了一行,每個(gè)部分都是由工作表中的列標(biāo)題字符串組成,“&”符號(hào)表示兩個(gè)字符串之間的連接符,通過(guò)該符號(hào),后面跟了一串代碼,看起來(lái)也像個(gè)函數(shù)的樣子(為什么說(shuō)像函數(shù)呢?也為有函數(shù)名、括號(hào)和括號(hào)里的參數(shù)),對(duì),這個(gè)是一個(gè)集合,其中的“me”表示引用本工作表,例如這里就是指Worksheet1工作表,“Cells”表示本工作表的所有單元格的集合,其中的參數(shù)表示行序號(hào)和列序號(hào),這個(gè)在昨天的講解中講過(guò)。其實(shí)這里省略了一個(gè)部分,完整的應(yīng)該是這樣寫(xiě)“Me.Cells(Target.Row, 1).Value”,即這里返回的是指定單元格內(nèi)的值,為啥省略呢?由于Value屬性是Cells集合的默認(rèn)屬性,所以可以省略不寫(xiě)。最后,還跟了一個(gè)函數(shù),即“Chr(13)”,這個(gè)函數(shù)的參數(shù)為一個(gè)整數(shù)值,作用是返回ASCII編碼表中對(duì)應(yīng)該整數(shù)值的字符或不可打印符號(hào)的。比如這里的13,在ASCII表中就對(duì)應(yīng)了換行符,那么通過(guò)這個(gè)函數(shù)就返回了一個(gè)換行符,這樣就可以讓每個(gè)列標(biāo)題的部分在對(duì)話框中占據(jù)一行的位置。

責(zé)任編輯:zoe
相關(guān)資訊
  • ·VBA實(shí)例精解(一)
  • 回到頂部
    折疊
    網(wǎng)站地圖

    Copyright © 2000 - m.jnjuyue.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

    京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)