Excel VBA解讀(63):單元格批註

  在使用工作表時,許多人都喜歡使用單元格批註功能,或者是標註單元格的用途、或者是記錄數據的來源、或者是記錄修改的時間,等等。本文講解在VBA中做到單元格批註的一系列操作。

下圖是「審閱」選項卡中的「批註」組中的命令,我們現在就錄制一些創建、顯示、刪除批註的操作,並對照錄制的代碼來認識在VBA中是如何操作單元格批註的。

Excel VBA解讀(63):單元格批註

首先,使單元格B3為當前單元格,單擊「新建批註」添加批註,在批註框中輸入文本,然後再次選擇單元格B3,單擊「顯示/隱藏批註」,最後單擊「刪除」按鈕刪除剛才創建的批註。

Excel VBA解讀(63):單元格批註

錄制的代碼如下:

Excel VBA解讀(63):單元格批註

下面我們詳細講解一下代碼中相關的屬性和方法。

AddComment方法

給單元格添加批註。其語法為:

Range對象.AddComment(Text)

其中,參數Text用來指定批註文本。

Comment屬性

返回Comment對象,代表與單元格區域左上角的單元格相關聯的批註。Comment對象是Comments集合的成員。

Visible屬性

Comment對象的Visible屬性用於返回或者設置一個布爾值(Boolean),確定是否批註可見,或者僅當用戶懸浮滑鼠在有批註的單元格上時可見。

Text方法

用來設置批註文本。其語法為:

Comment對象.Text(Text,Start,Overwrite)

其中,參數Text用於設置批註文本,參數Start用來指定現有批註的起始點,參數Overwrite設置為True則覆蓋現有批註文本。

ClearComments方法

Range對象.ClearComments

用於清除指定單元格區域中的所有單元格批註。

此外,Comment對象還有下列屬性和方法:

Author屬性

返回創建批註的用戶姓名。

Shape屬性

返回代表批註框的Shape對象。

Previous屬性

返回Comments集合中的前一個批註。

Next屬性

返回Comments集合中的下一個批註。

Delete方法

刪除單元格批註。

示例1:添加單元格批註

下面的代碼為指定單元格添加批註文本:

Excel VBA解讀(63):單元格批註

運行代碼後的結果如下圖:

Excel VBA解讀(63):單元格批註

示例2:獲取單元格批註

(1)下面的代碼獲取上例中創建的批註文本並放置在鄰近的單元格中:

Excel VBA解讀(63):單元格批註

運行代碼後的效果如下圖所示:

Excel VBA解讀(63):單元格批註

(2)下面的代碼使用了Comment對象的Next方法,也能得到同樣的結果。

Excel VBA解讀(63):單元格批註

(3)下面的代碼遍歷工作表中的批註,並獲取批註文本放置在相應的單元格中,做到上面的效果。

Excel VBA解讀(63):單元格批註

說明:

Comments屬性是Worksheet對象的一個屬性,返回代表指定工作表中的所有批註組成的Comments集合。關於Worksheet對象及其屬性和方法、事件將在後續文章中詳細介紹。

示例3:在單元格批註中放置圖片

在Excel中,如果我們要在批註中添加圖片,可以按下列步驟操作:

第1步:單擊選中批註框。

第2步:單擊右鍵,單擊快捷菜單中的「設置批註格式」命令。

第3步:在「設置批註格式」對話框中選擇「顏色與線條」選項卡。

第4步:在「顏色與線條」選項卡中,單擊「填充」中「顏色」下拉箭頭並選中「填充效果」。

第5步:在「填充效果「對話框中選擇「圖片」選項卡,並單擊「選擇圖片」按鈕。

第6步:選擇想要的圖片,單擊「插入」,然後依次在接下來的對話框中單擊「確定」。

這樣,就在批註框中插入了圖片。

我們也可以使用VBA代碼來做到:

Excel VBA解讀(63):單元格批註

說明:

代碼使用了Shape對象的屬性和方法。因為Comment對象的Shape屬性返回代表批註框的Shape對象。

C:\Users\Administrator\Pictures\timg (12).jpg是圖片所在的位置,您可以更換為想要的圖片路徑。

上述代碼運行後的結果如下圖所示:

Excel VBA解讀(63):單元格批註

補遺

NoteText方法

設置或者獲取與當前單元格區域左上角單元格相關的單元格註釋,單元格註釋已被單元格批註代替。

如果您對本文介紹的內容還有什麼好的示例,歡迎發送郵件給我:[email protected]

也可以在本文下方留言,提出您的看法或建議。

本文屬原創文章,轉載請聯繫我或者註明出處。