亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
563
2025-03-31
用批注記錄單元格的修改情況
本文為《別怕,Excel VBA其實很簡單(第3版)》隨書問題參-
在工作表模塊的代碼窗口中寫入下面的全部代碼,返回工作表中修改單元格,批注會自動記錄每次修改的信息。
Option Explicit
Dim RngValue As String '定義一個模塊給變量,用于保存單元格中的數據Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count <> 1 Then Exit Sub '選中多個單元格時退出程序 If Target.Formula = "" Then '根據選中的單元格內容給變量RngVaue賦值 RngValue = "空" Else RngValue = Target.Text End IfEnd Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count <> 1 Then Exit Sub Dim Cvalue As String '定義變量保存單元格修改后的內容 If Target.Formula = "" Then '判斷單元格是否被修改為空單元格 Cvalue = "空" Else Cvalue = Target.Formula End If If RngValue = Cvalue Then Exit Sub '如果單元格修改前后的內容一樣則退出程序 Dim RngCom As Comment '定義一個批注類型的變量,名稱為RngCom Dim ComStr As String '定義變量ComStr,用來保存批注的值 Set RngCom = Target.Comment '將被修改單元格的批注賦給變量RngCom If RngCom Is Nothing Then Target.AddComment '如果單元格中沒有批注則新建批注 ComStr = Target.Comment.Text '將批注的內容保存到變量ComStr中 '----重新修改批注的內容=原批注內容+當前日期和時間+原內容+修改后的新內容 Target.Comment.Text Text:=ComStr & Chr(10) & _ Format(Now(), "yyyy-mm-dd hh:mm") & _ " 原內容:" & RngValue & _ "修改為: " & Cvalue Target.Comment.Shape.TextFrame.AutoSize = True '根據批注內容自動調整批注大小End Sub
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。