午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Worksheet的Change事件

 yuxinrong 2009-11-20

Worksheet的Change事件

  “事件”在前面的貼子里我們已經接觸過了,如果你還不清楚,回過頭去花上幾分鐘看一看。
  當工作表單元格數值被修改后,就會觸發(fā)Worksheet的Change事件,我們可以通過寫一些語句響應這個事件來完成一些工作,下面我們通過一些例子來認識它。
  打開一個工作薄,點擊工作表名稱標簽,選擇“查看代碼”命令進入VBE編輯窗口,在代碼窗口的對象列表中選擇“Worksheet”,在事件列表中選擇“Change”,這時代碼窗口中會出現一段代碼:
復制內容到剪貼板
代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
   
End Sub
  相關說明:
  1、Worksheet是對象名,Change是事件名稱,對象名稱和事件名稱用下劃線連接;
 ?。?、(ByVal Target As Range):括號里的是程序運行傳遞的參數,Target是一個Range對象,即單元格區(qū)域,指觸發(fā)Change事件的單元格,也就是數值被修改了的單元格。
 ?。场⑽覀冎恍枰獙⑺枰獔?zhí)行的代碼寫在Sub與End Sub之間,這樣,在工作表的某個單元格發(fā)生改變時,就自動執(zhí)行Sub與End Sub之間的程序代碼。

  如果我們需要在每一次單元格修改之后都告訴我們這個單元格的地址是多少,則代碼可以為:
復制內容到剪貼板
代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
   MsgBox "剛剛修改的單元格地址是:" & Target.Address
End Sub
  這樣,當我們修改了某個單元格后,都會自動彈出一個對話框告訴我們剛剛修改的格的地址是多少。

  如果我們想只有修改某個單元格區(qū)域,比如D列的單元格的時候,才彈出這個對話框告訴我們,也是可以的,那代碼為:
復制內容到剪貼板
代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 4 Then '當改變的單元格的列號為4,即為D列時執(zhí)行程序
      MsgBox "剛剛修改的單元格地址是:" & Target.Address
  End If
End Sub
  有時,為了減少工作表信息的輸入工作,我們會利用到Worksheet的Change事件,例如有一相記錄學生借書或還書情況的工作表,C列2行以下的區(qū)域記錄圖書“借出”或“歸還”的情況,需要在每一次更改“借出”或“歸還”狀態(tài)時,都在同行的D列記錄下更改的日期,則代碼可以為:
復制內容到剪貼板
代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
'當被修改的單元格只有一個,且列號等于3,行號大于2時執(zhí)行程序
    If Target.Count = 1 And Target.Column = 3 And Target.Row > 2 Then
        Target.Offset(0, 1) = Date '被修改的單元格的右面一個單元格的值為當前日期
    End If
End Sub
  因為工作的原因,很久沒有來了,今天就給大家講這個很簡單的事件,很容易理解。由于時間匆忙,難免有不全面的地方,如有不明白的,希望大家跟貼一起討論,最后,也給大家留一個練習的題目吧!

  相關附件:
   ?。薄嵗簣D書—自動錄入時間 圖書-自動錄入時間.rar (7.61 KB)
   ?。病⒆鳂I(yè):信息錄入—一舉兩得 信息錄入—一舉兩得.rar (10.37 KB)

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多